Python数据可视化之12种常用图表的绘制(一)——折线图/柱形图/条形图/散点图/气泡图/面积图

折线图的绘制

废话不多说,直接撸代码~

import numpy as np
import matplotlib.pyplot as plt
plt.subplot(1,1,1)
 #建立一个坐标系
x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
y = np.array([866, 2335, 5710, 6482, 6120, 1605, 3813, 4428, 4631])
plt.rcParams['font.sans-serif']=['KaiTi']  
# 解决中文乱码问题
plt.rcParams['axes.unicode_minus']=False
# 解决负号无法显示的问题
plt.plot(x,y,color="k",linestyle="dashdot",
         linewidth=1,marker="o",markersize=5,label="用户注册量")
 # 指定颜色线型线宽和label
plt.title("python爱好者社区公众号1-9月注册用户量",loc="center")
for a,b in zip(x,y):
    plt.text(a,b,b,ha='center',va="bottom",fontsize=10)
plt.grid(True)
plt.legend()
plt.savefig(r"C:\Users\xiaoLiu\Desktop\keshihua\1.jpg")
plt.show()

好啦,以上代码我都写了注释,接下来我们看看效果怎么样吧!
在这里插入图片描述
怎么样,还是很好看的吧,反正我感觉比excel好玩

柱形图的绘制

普通柱形图

import numpy as np
import matplotlib.pyplot as plt
plt.subplot(1,1,1)
fig=plt.figure()
plt.figure(figsize=(8,6))
plt.rcParams['font.sans-serif']=['KaiTi']
plt.rcParams['axes.unicode_minus']=False
x=np.array(["东区","北区","南区","西区"])
y=np.array([8566,6482,5335,7310])
plt.bar(x,y,width=0.5,align="center",label="任务量")
plt.title("全国各分区任务量占比",loc="center")
for a,b in zip(x,y):
    plt.text(a,b,b,ha='center',va='center',fontsize=12)
plt.ylabel("区域")
plt.xlabel("任务量")
plt.legend()
plt.savefig(r"C:\Users\xiaoLiu\Desktop\keshihua\2.jpg")
plt.show()

效果图如下
在这里插入图片描述

镞状柱形图

import numpy as np
import matplotlib.pyplot as plt

plt.subplot(1, 1, 1)
fig = plt.figure()
plt.figure(figsize=(8, 6))
plt.rcParams['font.sans-serif'] = ['KaiTi']
plt.rcParams['axes.unicode_minus'] = False
x = np.array([1, 2, 3, 4])
y1 = np.array([8566, 5335, 7610, 6482])
y2 = np.array([4283, 2667, 3655, 3241])
plt.bar(x, y1, width=0.3, label="任务量")
plt.bar(x + 0.3, y2, width=0.3, label="完成量")
plt.title("全国各分区任务量和完成量", loc="center")
for a, b in zip(x, y1):
    plt.text(a, b, b, ha='center', va='bottom', fontsize=12)
for a, b in zip(x + 0.3, y2):
    plt.text(a, b, b, ha='center', va='bottom', fontsize=12)
plt.ylabel("区域")
plt.xlabel("任务量")
plt.xticks(x + 0.15, ["东区", "南区", "西区", "北区"])
plt.grid(False)
plt.legend()
plt.savefig(r"C:\Users\xiaoLiu\Desktop\keshihua\3.jpg")
plt.show()

效果图:
在这里插入图片描述
好看不~

层叠柱形图

import numpy as np
import matplotlib.pyplot as plt

plt.subplot(1, 1, 1)
fig = plt.figure()
plt.figure(figsize=(8, 6))
plt.rcParams['font.sans-serif'] = ['KaiTi']
plt.rcParams['axes.unicode_minus'] = False
x = np.array(["东区", "北区", "南区", "西区"])
y1 = np.array([8566, 5335, 7610, 6482])
y2 = np.array([4283, 2667, 3655, 3241])
plt.bar(x, y1, width=0.3, label="任务量")
plt.bar(x, y2, width=0.3, label="完成量")
plt.title("全国各分区任务量和完成量", loc="center")
for a, b in zip(x, y1):
    plt.text(a, b, b, ha='center', va='bottom', fontsize=12)
for a, b in zip(x, y2):
    plt.text(a, b, b, ha='center', va='top', fontsize=12)
plt.ylabel("区域")
plt.xlabel("任务量")
plt.grid(False)
plt.legend(loc="upper center", ncol=2)
plt.savefig(r"C:\Users\xiaoLiu\Desktop\keshihua\4.jpg")
plt.show()

效果展示:
在这里插入图片描述

条形图

条形图的绘制和柱形图类似,只不过由bar变为了barh

import numpy as np
import matplotlib.pyplot as plt
plt.subplot(1,1,1)
fig=plt.figure()
plt.figure(figsize=(8,6))
plt.rcParams['font.sans-serif']=['KaiTi']
plt.rcParams['axes.unicode_minus']=False
x=np.array(["东区","北区","南区","西区"])
y=np.array([8566,6482,5335,7310])
plt.barh(x,height=0.5,width=y,align="center")
plt.title("全国各分区任务量和完成量",loc="center")
for a,b in zip(x,y):
    plt.text(b,a,b,ha='center',va='center',fontsize=12)
plt.ylabel("区域")
plt.xlabel("任务量")
plt.grid(False)
plt.savefig(r"C:\Users\xiaoLiu\Desktop\keshihua\5.jpg")
plt.show()

在这里插入图片描述

散点图

import numpy as np
import matplotlib.pyplot as plt
plt.subplot(1,1,1)
plt.rcParams['font.sans-serif']=['KaiTi']
plt.rcParams['axes.unicode_minus']=False
x=[5.5,6.6,8.1,15.8,19.5,22.4,28.3,28.9]
y=[2.38,3.85,4.41,5.67,5.44,6.03,8.15,6.87]
plt.scatter(x,y,marker="o",s=100)
plt.title("1-8月平均气温与啤酒销量关系图",loc="center")
plt.xlabel("平均气温")
plt.ylabel("啤酒销量")
plt.grid(False)
plt.savefig(r"C:\Users\xiaoLiu\Desktop\keshihua\6.jpg")
plt.show()

在这里插入图片描述

气泡图

气泡图与散点图非常类似,可类比学习

import numpy as np
import matplotlib.pyplot as plt
plt.subplot(1,1,1)
plt.rcParams['font.sans-serif']=['KaiTi']
plt.rcParams['axes.unicode_minus']=False
x=np.array([5.5,6.6,8.1,15.8,19.5,22.4,28.3,28.9])
y=np.array([2.38,3.85,4.41,5.67,5.44,6.03,8.15,6.87])
colors=y*10
area=y*100
plt.scatter(x,y,c=colors,marker="o",s=area)
plt.title("1-8月平均气温与啤酒销量关系图",loc="center")
for a,b in zip(x,y):
    plt.text(a,b,b,ha="center",va="center",fontsize=10,color="white")
plt.xlabel("平均气温")
plt.ylabel("啤酒销量")
plt.grid(False)
plt.savefig(r"C:\Users\xiaoLiu\Desktop\keshihua\7.jpg")
plt.show()

效果图:
在这里插入图片描述怎么样,好看吧!

面积图

import matplotlib.pyplot as plt
import numpy as np

plt.subplot(1, 1, 1)
x = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
y1 = np.array([866, 2335, 5710, 6482, 6120, 1605, 3813, 4428, 4631])
y2 = np.array([433, 1167, 2855, 3241, 3060, 802, 1906, 2214, 2315])
plt.rcParams['font.sans-serif'] = ['KaiTi']
plt.rcParams['axes.unicode_minus'] = False
fig = plt.figure()
plt.figure(figsize=(8, 6))
labels = ['注册人数', '激活人数']
plt.stackplot(x, y1, y2, labels=labels)
plt.title("腾讯公司1-9月注册用户数", loc='center')
plt.xlabel('月份')
plt.ylabel('注册与激活人数')
plt.grid(False)
plt.legend()
plt.savefig(r"C:\Users\xiaoLiu\Desktop\keshihua\8.jpg")
plt.show()

效果如图
在这里插入图片描述好啦,本篇博文的六种图形就介绍到这里
下一篇我们接着学习~

### 回答1: 这个问题是关于 Python 编程语言中 matplotlib 库的函数 plt.grid(False)。这个函数用于关闭或开启形的网格线。当 plt.grid(False) 被调用时,形的网格线会被关闭。 ### 回答2: plt.grid(False)是一个在matplotlib中设置网格显示的函数。当我们调用该函数并将其参数设置为False时,将会关闭网格的显示。 在数据可视化中,网格是一用于帮助对齐数据点和辅助判断位置的工具。它可以将整个像区域划分为规则的格子,使得我们可以更容易地看到数据点的相对位置和分布情况。 然而,并不是所有的数据可视化都需要显示网格。在某些情况下,网格可能会显得过于密集,使得图表变得杂乱,这情况下我们可以通过调用plt.grid(False)来关闭网格的显示。关闭网格后,图表的焦点将完全放在数据点和形上,使得我们更容易直观地观察和分析数据。 除了关闭网格外,我们还可以通过使用其他参数来自定义网格的显示方式,如网格线的样式、颜色、线型等。这些参数可以在调用plt.grid()时设置,以实现不同的网格显示效果。 总而言之,plt.grid(False)是一个在matplotlib中设置网格显示的函数,通过调用该函数并将其参数设置为False,可以关闭图表的网格显示,以便于更好地观察和分析数据。 ### 回答3: plt.grid(False)是一个用于绘制图表时的参数。它表示在图表中是否显示网格线。当设置为False时,网格线会被隐藏,不会在图表上显示出来。 通常情况下,网格线用于帮助我们更好地观察图表中的数据。它可以在横轴和纵轴上创建一组参考线,使我们更容易读取和比较数据。例如,在散点图中,网格线可以帮助我们判断数据点的分布情况,以及它们与横纵轴的相对位置。在折线图中,可以通过网格线更清晰地观察趋势的走向。 然而,并不是所有情况下都需要显示网格线。有时,网格线过多可能会让图表看起来混乱,干扰我们对数据的解读。在这情况下,设置plt.grid(False)就可以将网格线隐藏起来,使图表更简洁、清晰。 另外,也可以根据情况选择是否显示横轴网格线和纵轴网格线。可以通过传入参数给plt.grid()来实现,比如plt.grid(True, axis='x')表示只显示横轴的网格线,而plt.grid(True, axis='y')则表示只显示纵轴的网格线。 总之,plt.grid(False)是一个用于控制图表网格线显示的参数,可以根据需要选择是否显示网格线,以便更好地展示数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值