python绘图1

  • 1、折线图
  • 2、散点图
  • 3、条形图
  • 4、饼状图

图形化最大的优点就是直观,图像比表格能够传递更多信息,但是一张优秀的统计图,首先要保证正确性,这里的正确是指用合理的统计图来表达原始数据的特征或者联系。比如:展示不同城市的手机的销售量,就不适合用折线图,因为销售量和城市之间不能体现趋势,用条形图就更合适。所以 用对是前提。

1、折线图

  • 把图画出来:
import matplotlib.pyplot as plt
import numpy as npx = np.arange(0,3*np.pi,0.1)
y = np.sin(x) plt.plot(x,y) # 用列表也行,但是用列表想计算正弦就很难了plt.show() # 在spyder等图形界面的环境下不加plt.show()也能出图,但在命令行环境下就必须加这句话才会弹出图窗

掌握了以上用法,就会最基本的画图了,但就跟会print('hello, world!')一样。(/捂脸笑)

  • 常用参数:改一改,看一看以下一些参数就基本够用了
import matplotlib.pyplot as plt
import numpy as npx = np.arange(0,3*np.pi,0.1)
y1 = np.sin(x)
y2 = np.cos(x)# 打开一个10*6英寸,编号'89757'的图窗
plt.figure(num='89757',figsize=(10,6))# 设置线条形状和标记的形状、线宽和标记的大小、颜色
plt.plot(x,y1,linestyle='-.',marker='o',linewidth=0.5,markersize=3,color='r')
plt.plot(x,y2,linestyle='--',marker='^',linewidth=0.5,markersize=3,color='g')# 设置标题和横纵坐标的范围,lim是limit的缩写
plt.title('plot')
plt.xlim((0,3*np.pi))
plt.ylim((-1,1))# 设置横纵标签文本以及距离坐标轴的距离,以及旋转角度,y轴默认90°
plt.xlabel('x', labelpad=5)
plt.ylabel('y', labelpad=5, rotation=0)# 设置网格和图例
plt.grid(b=True,which='major',axis='y',linestyle=':',color='y')
plt.legend(('y=sin(x)','y=cos(x)'))# 绘图
plt.show() # 在spyder等图形界面的环境下不加plt.show()也能出图,但在命令行环境下就必须加这句话才会弹出图窗

2、散点图

  • 常用参数:(艺术大师-shug)
import matplotlib.pyplot as plt
import numpy as np# 支持中文
plt.rcParams['font.sans-serif']=['SimHei'] # 开图窗
fig = plt.figure(num=1,figsize=(8,6),facecolor='w',frameon=True)
ax = fig.add_subplot(111)# 夜空
ax.patch.set_color('darkblue')# 星星
N=20
plt.scatter(np.random.rand(N), np.random.rand(N),c='k',s=50,marker='*')
plt.scatter(np.random.rand(N), np.random.rand(N),c='r',s=10,marker='*')
plt.scatter(np.random.rand(N), np.random.rand(N),c='g',s=100,marker='*')
plt.scatter(np.random.rand(N), np.random.rand(N),c='pink',s=70,marker='*')
plt.scatter(np.random.rand(N), np.random.rand(N),c='y',s=120,marker='*')'''
marker=['.',',','o','v','^','<','>','1','2','3','4','s','p','*','h','H','+','x','D','d','|','_','.',','] # marker标记的样式库,具体长啥样自己试一下就知道了
'''# 设置标题和横纵坐标的范围
plt.title('繁星')
plt.xlim((0,1))
plt.ylim((-1,1))# 关掉坐标标签和坐标刻度线
plt.xlabel('')
plt.ylabel('')
plt.xticks(())
plt.yticks(())# 绘图
plt.show() # 在spyder等图形界面的环境下不加plt.show()也能出图,但在命令行环境下就必须加这句话才会弹出图窗

3、条形图

# 导入绘图模块
import matplotlib.pyplot as plt
import numpy as np
# 构建数据
Y2016=[15600,12700,11300,4270,3620]
Y2017=[17400,14800,12000,5200,4020]
labels=['Beijing', 'Shanghai','HongKong','Shenzhen', 'Guangzhou']
bar_width=0.5
plt.figure(figsize=(10,6))
#设置条形颜色、透明度、宽度
plt.bar(np.arange(5),Y2016,label='2016',color='yellow',alpha=0.8,width=bar_width)
plt.bar(np.arange(5)+bar_width,Y2017,label='2017',color='black',alpha=0.8,width=bar_width)
#添加轴标签
plt.xlabel('Top5City',fontproperties='Times New Roman',fontsize=16)
plt.ylabel('Family Amount',fontproperties='Times New Roman',fontsize=16)
plt.xticks(np.arange(5)+bar_width,labels)
plt.ylim([2500,20000])
plt.yticks(fontproperties='Times New Roman', size=14)
plt.xticks(fontproperties='Times New Roman',size=14)
#添加标题
plt.title('Millions Family  AmountTop5City   Distribution ',fontproperties='Times New Roman', fontsize=16)
#为每个条形图添加数值标签
for x2016,y2016 in enumerate(Y2016):plt.text(x2016-0.25,y2016+100,'%s'%y2016)
for x2017,y2017 in enumerate(Y2017):plt.text(x2017+0.2,y2017+100,'%s'%y2017)
#显示图例
plt. legend()plt. show()

4、饼状图

# 导入绘图模块
import matplotlib.pyplot as plt
import numpy as npplt.figure(figsize=(10,6))
# 构造数据,调整数据顺序,以免低占比的饼块相邻,无法分辨
edu=[0.2515,0.0057,0.3724,0.3336,0.0368]
labels=['HighSchool','Others','Junior College','Eachelor','Master']
explode=[0,0,0.1,0,0]#用于分离突出显示大专学历人群
colors=['#61666f','#000000','#6f6f6f','#9f9f9f','#cfcfef']
# 黑白灰度显示颜色
# 将横、纵坐标轴标准化处理,保证饼图是一个正圆,否则为椭圆
plt.axes(aspect='equal')
# 控制x轴和y轴的范围
plt.xlim(0,4)
plt.ylim(0,4)
# 绘制饼图
plt.pie(x=edu,#绘图数据explode=explode,#突出显示大专人群labels=labels,#添加教育水平标签colors=colors,#设置饼图的自定义填充色autopct='%.1f%%',#设置百分比的格式,这里保留一位小数pctdistance=0.5,#设置百分比标签与圆心的距离labeldistance=1.0,#设置教育水平标签与圆心的距离startangle=180,#设置饼图的初始角度radius=1.5,#设置饼图的半径counterclock=False,#是否逆时针,这里设置为顺时针方向wedgeprops={'linewidth':1.5,'edgecolor':'green'},#设置饼图边界的属性值textprops={'fontsize':20,'color':'k'},#设置文本标签的属性值center=(1.8,1.8),#设置饼图的原点frame=True) #是否显示饼图的图框,这里设置显示
#删除x轴和y轴的刻度
plt.xticks(())
plt.yticks(())plt.show()

【python 数据挖掘】基于matplotlib的绘图一:四种基本图形及其参数相关推荐

  1. 二、Python数据挖掘(Matplotlib库)

    二.Python数据挖掘(Matplotlib库) 目录: 二.Python数据挖掘(Matplotlib库) 一.Matplotlib 简介 二.Matplotlib 理论基础 1.Matplotl ...

  2. python实现四种基本图形的面积计算 :圆形,长方形,正方形,梯形。

    这个小练习实现了四种基本图形的面积计算 :圆形,长方形,正方形,梯形.虽然看起来挺简单的,但是要规避的坑还是挺多的(比如用户输入中文的错误显示,还有半径,长宽高必须大于0,用户输入小数也是正确的),感 ...

  3. 数据挖掘在企业中应用的四种途径

    数据激增是当今社会的一大特性,如何有效的利用数据挖掘方法,从海量信息中提取出有用的模式和规律而不仅仅是"望洋兴叹",已经成为人们迫切的需求.企业应该将数据挖掘视为一大法宝,利用它将 ...

  4. python float和int的区别_Python四种数值类型(int,long,float,complex)区别及转换

    Python支持四种不同的数值类型,包括int(整数)long(长整数)float(浮点实际值)complex (复数), 数字数据类型存储数值.他们是不可改变的数据类型,这意味着改变数字数据类型的结 ...

  5. python 聚类_聚类算法中的四种距离及其python实现

    欧氏距离 欧式距离也就是欧几里得距离,是最常见也是最简单的一种距离,再n维空间下的公式为: 在python中,可以运用scipy.spatial.distance中的pdist方法来实现,但需要调整其 ...

  6. python异常处理的方法_python异常处理的四种方式,不只是try

    对于python程序中,进行异常捕获,一般我们都用try except,但是还有其他方式经常使用. 以后再进行异常处理时,知道有四种方式,可以考虑更合适的方式 下面介绍一下四种方式 1.内部抛出异常( ...

  7. sql server和mysql 分页_基于Sql server数据库的四种分页方式总结

    下面小编就为大家分享一篇基于sqlserver的四种分页方式总结,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧. 第一种:ROW_NUMBER() OVER()方式 select * ...

  8. python中计算n次方运算的四种方法【转】

    https://blog.csdn.net/u011699626/article/details/119582754 这里介绍一下python中n次方运算的四种书写形式,代码如下: # -*- cod ...

  9. python基础语法—布尔值/布尔运算/循环四种语法

    布尔值: 布尔值(True,False):可以直接再while循环中使用,为真继续执行,为假停止(首字母大写) False:False, 0 ,''(空字符串)[](空列表){}(空字典) None( ...

最新文章

  1. 小米扫地机器人 自动关机_小米扫地机器人1S 真的好用吗?
  2. boot返回码规范 spring_springboot项目编码规范
  3. 菜鸟也学DW做ASP
  4. the data structure i like
  5. bio阻塞的缺点_java 中的 BIO/NIO/AIO 详解
  6. 二叉树的遍历(算法导论第三版12.1-4)(包含先序遍历,后序遍历和中序遍历)
  7. 游戏服务器为空请检查列表文件,游戏服务器为空请检查列表文件
  8. [深度学习-原理]BP神经网络
  9. iOS的主要框架介绍
  10. 三星宣布华大九天成为其晶圆代工生态系统SAFE EDA合作伙伴
  11. Kibana和logstash实时日志查询、收集与分析系统
  12. 2000-2019年中国地级市人均GDP
  13. loadrunner批量添加压力
  14. pwnable - mistake
  15. 软件测试工程师自我介绍范文_软件测试面试自我介绍
  16. Android studio创建第一个项目并运行
  17. ps快捷键对应的英文字母缩写
  18. 短视频底层实操课,让你迅速从短视频新手变成高手
  19. liquibase介绍与使用
  20. 知虾数据:店铺精细化运营提高商品曝光率,远超出竞品效果

热门文章

  1. [点滴积累]vim使用(1)(FromQQ)
  2. 618前夜,电商物流「涌向」B2B战场
  3. [转帖]在北京听英语讲座的感悟4
  4. 语言争霸VS魔兽争霸 :: IT世界VS魔兽世界
  5. 数据库查询(连接查询)
  6. 关于QQ记录查看软件...
  7. 用计算机算出你喜欢吃你喜欢的人,心理测试:第一眼看到了什么,测试你喜欢的人是不是在暗恋你?...
  8. 2023年1月28日每日一练-豚鼠排名榜(字符串、比较运算)
  9. 【超值IT精英汇】中国IT职业教育的领航者!
  10. Play with OVN (by quqi99)