当前位置:   article > 正文

python matplotlib绘图_绘制有描边和填充效果的柱状图,效果自定义

绘制有描边和填充效果的柱状图,效果自定义

目录

绘制带有中文标签和图例的正弦和余弦曲线

 绘制散点图

 修改散点符号与大小

 修改颜色 

 绘制饼状图

在图例中显示公式

多个图像单独显示

绘制有描边和填充效果的柱状图

 使用雷达图展示学生成绩

绘制三维曲面

设置图例样式


绘制带有中文标签和图例的正弦和余弦曲线

  1. import numpy as np
  2. import pylab as pl
  3. import matplotlib.font_manager as fm
  4. # 必须使用关键参数fname,必须保证字体文件路径正确
  5. myfont = fm.FontProperties(fname=r'C:\Windows\Fonts\STKAITI.ttf') #设置字体
  6. t = np.arange(0.0, 2.0*np.pi, 0.01) # 自变量取值范围
  7. s = np.sin(t) # 计算正弦函数值
  8. z = np.cos(t) # 计算余弦函数值
  9. pl.plot(t, s, label='正弦')
  10. pl.plot(t, z, label='余弦')
  11. pl.xlabel('x-变量', fontproperties='STKAITI', fontsize=18) # 设置x标签
  12. pl.ylabel('y-正弦余弦函数值', fontproperties='simhei', fontsize=18)
  13. pl.title('sin-cos函数图像', fontproperties='STLITI', fontsize=24) # 标题
  14. pl.legend(prop=myfont) # 设置图例
  15. pl.show()

 绘制散点图

  1. >>> a = np.arange(0, 2.0*np.pi, 0.1)
  2. >>> b = np.cos(a)
  3. >>> pl.scatter(a,b)
  4. >>> pl.show()

 修改散点符号与大小

  1. >>> pl.scatter(a, b, s=20, marker='+')
  2. >>> pl.show()

 修改颜色 

  1. 修改颜色
  2. >>> import matplotlib.pylab as pl
  3. >>> import numpy as np
  4. >>> x = np.random.random(100)
  5. >>> y = np.random.random(100)
  6. >>> pl.scatter(x, y, s=x*500, c=u'r', marker=u'*')
  7. # s指大小,c指颜色,marker指符号形状
  8. >>> pl.show()

 绘制饼状图

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. #The slices will be ordered and plotted counter-clockwise.
  4. labels = 'Frogs', 'Hogs', 'Dogs', 'Logs'
  5. colors = ['yellowgreen', 'gold', '#FF0000', 'lightcoral']
  6. explode = (0, 0.1, 0, 0.1) # 使饼状图中第2片和第4片裂开
  7. fig = plt.figure()
  8. ax = fig.gca()
  9. ax.pie(np.random.random(4), explode=explode, labels=labels, colors=colors,
  10. autopct='%1.1f%%', shadow=True, startangle=90,
  11. radius=0.25, center=(0, 0), frame=True) # autopct设置饼内百分比的格式
  12. ax.pie(np.random.random(4), explode=explode, labels=labels, colors=colors,
  13. autopct='%1.1f%%', shadow=True, startangle=45,
  14. radius=0.25, center=(1, 1), frame=True)
  15. ax.pie(np.random.random(4), explode=explode, labels=labels, colors=colors,
  16. autopct='%1.1f%%', shadow=True, startangle=90,
  17. radius=0.25, center=(0, 1), frame=True)
  18. ax.pie(np.random.random(4), explode=explode, labels=labels, colors=colors,
  19. autopct='%1.2f%%', shadow=False, startangle=135,
  20. radius=0.35, center=(1, 0), frame=True)
  21. ax.set_xticks([0, 1]) # 设置坐标轴刻度
  22. ax.set_yticks([0, 1])
  23. ax.set_xticklabels(["Sunny", "Cloudy"]) # 设置坐标轴刻度上的标签
  24. ax.set_yticklabels(["Dry", "Rainy"])
  25. ax.set_xlim((-0.5, 1.5)) # 设置坐标轴跨度
  26. ax.set_ylim((-0.5, 1.5))
  27. ax.set_aspect('equal') # 设置纵横比相等
  28. plt.show()

 python使用matplotlib绘制饼状图_辰小夏的博客-CSDN博客_matplotlib饼状图

python 数据可视化———绘制饼状图(bar)_a1227406795的博客-CSDN博客_python饼状图

在图例中显示公式

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. x = np.linspace(0, 2*np.pi, 500)
  4. y = np.sin(x)
  5. z = np.cos(x*x)
  6. plt.figure(figsize=(8,4))
  7. # 标签前后加$将使用内嵌的LaTex引擎将其显示为公式
  8. plt.plot(x,y,label='$sin(x)$',color='red',linewidth=2) # 红色,2个像素宽
  9. plt.plot(x,z,'b--',label='$cos(x^2)$') # 蓝色,虚线
  10. plt.xlabel('Time(s)')
  11. plt.ylabel('Volt')
  12. plt.title('Sin and Cos figure using pyplot')
  13. plt.ylim(-1.2,1.2)
  14. plt.legend() # 显示图例
  15. plt.show() # 显示绘图窗口

多个图像单独显示

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. x= np.linspace(0, 2*np.pi, 500) # 创建自变量数组
  4. y1 = np.sin(x) # 创建函数值数组
  5. y2 = np.cos(x)
  6. y3 = np.sin(x*x)
  7. plt.figure(1) # 创建图形
  8. ax1 = plt.subplot(2,2,1) # 第一行第一列图形
  9. ax2 = plt.subplot(2,2,2) # 第一行第二列图形
  10. ax3 = plt.subplot(212, facecolor='y') # 第二行
  11. plt.sca(ax1) # 选择ax1
  12. plt.plot(x,y1,color='red') # 绘制红色曲线
  13. plt.ylim(-1.2,1.2) # 限制y坐标轴范围
  14. plt.sca(ax2) # 选择ax2
  15. plt.plot(x,y2,'b--') # 绘制蓝色曲线
  16. plt.ylim(-1.2,1.2)
  17. plt.sca(ax3) # 选择ax3
  18. plt.plot(x,y3,'g--')
  19. plt.ylim(-1.2,1.2)
  20. plt.show()

绘制有描边和填充效果的柱状图

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. #生成测试数据
  4. x = np.linspace(0, 10, 11)
  5. y = 11-x
  6. #绘制柱状图
  7. plt.bar(x, y,
  8. color='#772277', #柱的颜色
  9. alpha=0.8, #透明度
  10. edgecolor='blue', #边框颜色
  11. linestyle='--', #边框样式为虚线
  12. linewidth=1, #边框线宽
  13. hatch='*') #内部使用五角星填充
  14. #为每个柱形添加文本标注
  15. for xx, yy in zip(x,y):
  16. plt.text(xx-0.2, yy+0.1, '%2d' % yy)
  17. #显示图形
  18. plt.show()

 使用雷达图展示学生成绩

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. courses = ['C++', 'Python', '高数', '大学英语', '软件工程',
  4. '组成原理', '数字图像处理', '计算机图形学']
  5. scores = [80, 95, 78, 85, 45, 65, 80, 60]
  6. dataLength = len(scores) # 数据长度
  7. # angles数组把圆周等分为dataLength份
  8. angles = np.linspace(0, # 数组第一个数据
  9. 2*np.pi, # 数组最后一个数据
  10. dataLength, # 数组中数据数量
  11. endpoint=False) # 不包含终点
  12. scores.append(scores[0])
  13. angles = np.append(angles, angles[0]) # 闭合
  14. # 绘制雷达图
  15. plt.polar(angles, # 设置角度
  16. scores, # 设置各角度上的数据
  17. 'rv--', # 设置颜色、线型和端点符号
  18. linewidth=2) # 设置线宽
  19. # 设置角度网格标签
  20. plt.thetagrids(angles*180/np.pi,
  21. courses,
  22. fontproperties='simhei')
  23. # 填充雷达图内部
  24. plt.fill(angles,
  25. scores,
  26. facecolor='r',
  27. alpha=0.6)
  28. plt.show()

报错的解决: 

Python绘制雷达图时遇到的坑的解决_Python-免费资源网

也可以加多一句

courses.append(courses[0])

 

 

绘制三维曲面

np.mgrid使用 - 码农教程

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. import mpl_toolkits.mplot3d
  4. x,y = np.mgrid[-2:2:20j, -2:2:20j] # 步长使用虚数
  5. # 虚部表示点的个数
  6. # 并且包含end
  7. z = 50 * np.sin(x+y) # 测试数据
  8. ax = plt.subplot(111, projection='3d') # 三维图形
  9. ax.plot_surface(x,y,z,rstride=2, cstride=1, cmap=plt.cm.Blues_r)
  10. ax.set_xlabel('X') # 设置坐标轴标签
  11. ax.set_ylabel('Y')
  12. ax.set_zlabel('Z')
  13. plt.show()

  1. import pylab as pl
  2. import numpy as np
  3. import mpl_toolkits.mplot3d
  4. rho, theta = np.mgrid[0:1:40j, 0:2*np.pi:40j]
  5. z = rho**2
  6. x = rho*np.cos(theta)
  7. y = rho*np.sin(theta)
  8. ax = pl.subplot(111, projection='3d')
  9. ax.plot_surface(x,y,z)
  10. pl.show()

 

设置图例样式

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. import matplotlib.font_manager as fm
  4. t = np.arange(0.0, 2*np.pi, 0.01)
  5. s = np.sin(t)
  6. z = np.cos(t)
  7. plt.plot(t, s, label='正弦')
  8. plt.plot(t, z, label='余弦')
  9. plt.title('sin-cos函数图像', #标题文本
  10. fontproperties='STLITI', #标题字体
  11. fontsize=24) #标题字号
  12. myfont = fm.FontProperties(fname=r'C:\Windows\Fonts\STKAITI.ttf')
  13. plt.legend(prop=myfont, #图例字体
  14. title='Legend', #图例标题
  15. loc='lower left', #图例左下角位于图形(0.43,0.75)的位置
  16. bbox_to_anchor=(0.43,0.75),
  17. shadow=True, #显示阴影
  18. facecolor='yellowgreen', #图例背景色
  19. edgecolor='red', #图例边框颜色
  20. ncol=2, #显示为两列
  21. markerfirst=False) #图例文字在前,符号在后
  22. plt.show()

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/426528
推荐阅读
相关标签
  

闽ICP备14008679号