mfc三视图和斜等测图实现_看这个就够了——用程序实现各类优美的图形大全

cd76a434e998f1a14766a594b92513c2.gif

fbd2f650050f89ebd9c2fce4bdc7fdb0.png

作者 I Nature 出品 I AI机器思维 大数据时代,数据分析与报告中少不了做图表。matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。Matplotlib则比较强:Matlab的语法、python语言、latex的画图质量(还可以使用内嵌的latex引擎绘制的数学公式)。 案例1:饼图实现销售分布占比图显示 程序首先导入用到的模块matplotlib,然后处理存储在文件夹中的数据,通过plt.pie()语句中的参数设置绘制饼图,通过plt.rcParams['font.sans-serif'] = ['SimHei']; plt.rcParams['axes.unicode_minus'] = False语句处理中文字符在图表的显示问题。

0cc2781cec2ec6962780e5bd1f2396fc.png

运行程序后结果:

782485eaa85b6d14bf97444e90857972.png

案例2:对案例1程序修改配色,修改语句:

colors = ["palegreen","skyblue","plum","mistyrose"]

可以实现不同图表颜色显示,其他程序不用改,程序如下:

1ee567de89a6b6774d879558901df29c.png

程序执行后图表显示如下:

0cc1500a79e49515c6c2b3fcc4e73109.png

只需要把程序中颜色语句这句程序colors = ["palegreen","skyblue", "plum", "mistyrose"]修改不同的颜色搭配就可以做出优美的视觉图表.

python中matplotlib中color可用的颜色如下:

0b761e293d16e882a5901d25c6089966.png

cf0df5073fe0f62618fbe2c140fb5040.png

案例3:实现柱状图图表,数据文件为xiaosl.txt

64f708ecacd6b2e2ade442e0b51ecd66.png

通过程序实现柱状图如下:

37bd5a3641b51b3f9bf14d3d788bd55e.png

程序运行后的结果显示图形如下:

8f1ddcc2ec975c15e920669acf42d04a.png

解读说明只需要修改语句plt.bar(range(len(bqx)),bqx,color=colors,tick_label=vp)就可以,数据变量名为bqx为销售量,vp为省份名称变量,color=colors为语句colors = ["palegreen", "skyblue","plum", "mistyrose"]定义的颜色组,修改这个可以改变图表显示的各省颜色柱状图。

案例4:条形状态,把案例3语句plt.bar(range(len(bqx)),bqx,color=colors,tick_label=vp)改为:plt.barh(range(len(bqx)), bqx,color=colors,tick_label=vp),程序其他不修改,程序如下:

8b2b26d26980d889f6146003fcc3623f.png

程序运行后图形显示为条形状态:

2cde4d081fc084fa4c158ee113c5ac15.png

案例5:折线图,正弦和余弦函数

93de81629c05301a7d5c781205331ca7.png

程序运行后图形显示如下:

92cb701b827a1ac13249c405a86c59b9.png

案例6:对案例5程序修改,加入语句:

plt.plot(x, y1, label='y = sin(x)')

plt.plot(x, y2, label='y = cos(x)')

plt.legend()

说明:在plot的时候指定label,然后调用legend方法可以绘制。

legend方法可接受一个loc关键字参数来设定图例的位置,可取值为数字或字符串:

     0: ‘best'

     1: ‘upper right'

     2: ‘upper left'

     3: ‘lower left'

     4: ‘lower right'

     5: ‘right'

     6: ‘center left'

     7: ‘center right'

     8: ‘lower center'

     9: ‘upper center'

     10: ‘center'

1157baf02c7a9fa72009db31c86633e9.png

程序运行后显示图形为:

f76cb51764c15c5ddf58e198c7a788b0.png

案例7:对案例6程序中语句plt.legend()修改为plt.legend(loc=1),加入了loc=1参数,改变了案例6中左下角的显示标识图形的位置。

f70d5ae7dde2d714a39b9ddb75050ecf.png

程序运行后图形显示如下:

dd76497d4992e6ae7e5a3f3129680988.png

案例8:对于均为[0, 1]之间,[0, 1]之间的浮点数的字符串形式,表示灰度值。0表示黑色,1表示白色。

(2)样式

plot方法的关键字参数linestyle(或ls)用来设置线的样式。可取值为:

-, solid

--, dashed

-., dashdot

:, dotted

'', ' ', None

(3)粗细

设置plot方法的关键字参数linewidth(或lw)可以改变线的粗细,其值为浮点数。

程序如下,修改了语句为这两个语句

plt.plot(x, y1, label='y = sin(x)',c='r',ls='--', lw=3)

plt.plot(x, y2, label='y = cos(x)',c='b',ls='--', lw=3):

5bba44194d07b7416017d8ed554dff95.png

程序运行后图形显示如下:

5ff61b5b7b0dea87408edea183c39a55.png

案例9:对案例8改造,plot中的参数:

marker

以下关键字参数可以用来设置marker的样式:

marker

markeredgecolor 或 mec

markeredgewidth 或 mew

markerfacecolor 或 mfc

markerfacecoloralt 或 mfcalt

markersize 或 ms

其中marker可取值为:

'.': point marker

',': pixel marker

'o': circle marker

'v': triangle_down marker

'^': triangle_up marker

'

'>': triangle_right marker

'1': tri_down marker

'2': tri_up marker

'3': tri_left marker

'4': tri_right marker

's': square marker

'p': pentagon marker

'*': star marker

'h': hexagon1 marker

'H': hexagon2 marker

'+': plus marker

'x': x marker

'D': diamond marker

'd': thin_diamond marker

'|': vline marker

'_': hline marker

程序如下,对plot中的参数修改,图形会有大变化:

plt.plot(x, y1, marker='o', mec='r', mfc='w')

plt.plot(x, y2, marker='*', ms=10)

同时我们把x = np.linspace(0, 2 * np.pi, 10)把参数100改为了10

5fd1d21191c1a695d45ba6dca8e9093c.png

程序运行后图形显示如下:

cd627b411fe005bb9dc4ad6b159dc341.png

案例10:对案例9修改,另外另外,marker关键字参数可以和color以及linestyle这两个关键字参数合并为一个字符串。

程序如下:

247f5dbfe9bed39dffa8c28102d197b4.png

程序运行后图形显示如下:

f278bb1a81e04dec489ff6749014acee.png

案例11:全球城市排名柱状图并对坐标轴加说明文字

plt.xlabel('全球城市名')

plt.ylabel('万亿美金')

这两个语句对坐标轴加入说明文字。

程序如下:

1ed94cc14fd3dc2613509744d93c4722.png

程序运行后图形显示如下:

ce1e5b83ba4fcf4bcbe166021039ba2c.png

以上是对python画图中程序,大家可以根据讲解的参数修改参数实现不同的图形,颜色等。


——往期精彩——

智能化促进编程语言的学习热潮——实践者的建议

品玩SAS:70年,人均预期寿命为什么能增长一倍?

智能——下一个十年会像手机一样普及吗?

品玩SAS:泰坦尼克号之灾(上)——逃生率分析

fc0ff60f1f53e50af0e10b08d681be05.png

您的关注和在看是对我们最大的鼓励!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值