利用matplotlib画散点图的详细操作及代码是什么
Admin 2022-09-07 群英技术资讯 1627 次浏览
今天我们来学习关于“利用matplotlib画散点图的详细操作及代码是什么”的内容,下文有详解方法和实例,内容详细,逻辑清晰,有需要的朋友可以参考,希望大家阅读完这篇文章后能有所收获,那么下面就一起来了解一下吧。
import pandas as pd
cnbodf=pd.read_excel('cnboo1.xlsx')
cnbodfsort=cnbodf.sort_values(by=['BO'],ascending=False)
def mkpoints(x,y):
return len(str(x))*(y/25)-3
cnbodfsort['points']=cnbodfsort.apply(lambda x:mkpoints(x.BO,x.PERSONS),axis=1)
cnbodfgb=cnbodfsort.groupby("TYPE").mean(["bo","prices","persons","points"])
cnbodfsort['type1']=cnbodfsort['TYPE'].apply(lambda x:x.split("/")[0])
cnbodfgb=cnbodfsort.groupby(["type1"])["ID","BO","PRICE","PERSONS","points"].mean()
cnbodfgbsort=cnbodfgb.sort_values("BO",ascending=False)
cnbodfsort.sort_values(by='PERSONS') # 根据电影人数进行排序

from matplotlib import pyplot as plt
plt.style.use('classic') # 画板主题风格
plt.figure(figsize=(9,6))
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微软雅黑的字体
plt.title("中国票房分布情况") # 标题
plt.scatter(cnbodfsort.PERSONS,cnbodfsort.PRICE) # 散点图
plt.grid() # 网格线
plt.show()

from matplotlib import pyplot as plt
plt.style.use('classic')
plt.figure(figsize=(9,6))
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微软雅黑的字体
plt.title("中国票房分布情况")
plt.scatter(cnbodfsort.PERSONS,cnbodfsort.PRICE,c='red',edgecolor='pink',s=100,linewidth=4)
plt.grid()
plt.show()


alpha=0.3
from matplotlib import pyplot as plt
plt.style.use('classic')
plt.figure(figsize=(9,6))
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微软雅黑的字体
plt.title("中国票房分布情况")
plt.scatter(cnbodfsort.PERSONS,cnbodfsort.PRICE,c='red',edgecolor='black',s=100,linewidth=4,alpha=0.5)
plt.grid()
plt.show()
注意到当数据较为集中的时候,点的颜色较深,如果数据分布较稀疏的时候,点更透明。

由于我一共有五十组数据,也就是有50个点,因此当构建colors的时候必须有五十个。

from matplotlib import pyplot as plt
plt.style.use('classic')
plt.figure(figsize=(9,6))
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微软雅黑的字体
plt.title("中国票房分布情况")
colors=[1,2,3,4,5,6,7,8,9,10]*5
plt.scatter(cnbodfsort.PERSONS,cnbodfsort.PRICE,c=colors,edgecolor='black',s=100,linewidth=4,alpha=0.5)
plt.grid()
plt.show()

from matplotlib import pyplot as plt
plt.style.use('classic')
plt.figure(figsize=(9,6))
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微软雅黑的字体
plt.title("中国票房分布情况")
colors=[1,2,3,4,5,6,7,8,9,10]*5
sizes=cnbodfsort.points*10
plt.scatter(cnbodfsort.PERSONS,cnbodfsort.PRICE,c=colors,edgecolor='black',s=sizes,linewidth=4,alpha=0.5)
plt.grid()
plt.show()



也可以通过使用numpy数组来进行实现:
sizes=list(np.random.randint(100,500,size=(50,)))

如果让点变回同色系,则使:
cmap='summer'
import numpy as np
from matplotlib import pyplot as plt
plt.style.use('classic')
plt.figure(figsize=(9,6))
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微软雅黑的字体
plt.title("中国票房分布情况")
colors=[1,2,3,4,5,6,7,8,9,10]*5
sizes=list(np.random.randint(100,500,size=(50,)))
plt.scatter(cnbodfsort.PERSONS,cnbodfsort.PRICE,cmap='summer',edgecolor='black',s=sizes,linewidth=4,alpha=0.5)
cbar=plt.colorbar()
cbar.set_label("票房")
plt.xscale('log')
plt.xscale('log')
plt.grid()
plt.show()

import numpy as np
from matplotlib import pyplot as plt
plt.style.use('classic')
plt.figure(figsize=(9,6))
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微软雅黑的字体
plt.title("中国票房分布情况")
colors=[1,2,3,4,5,6,7,8,9,10]*5
sizes=list(np.random.randint(100,500,size=(50,)))
plt.scatter(cnbodfsort.PERSONS,cnbodfsort.PRICE,cmap='winter',c=cnbodfsort.PERSONS,edgecolor='black',s=sizes,linewidth=4,alpha=0.5)
cbar=plt.colorbar()
cbar.set_label("票房")
plt.xscale('log')
plt.xscale('log')
plt.grid()
plt.show()

cbar=plt.colorbar()
import numpy as np
from matplotlib import pyplot as plt
plt.style.use('classic')
plt.figure(figsize=(9,6))
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微软雅黑的字体
plt.title("中国票房分布情况")
colors=[1,2,3,4,5,6,7,8,9,10]*5
sizes=list(np.random.randint(100,500,size=(50,)))
plt.scatter(cnbodfsort.PERSONS,cnbodfsort.PRICE,c=colors,edgecolor='black',s=sizes,linewidth=4,alpha=0.5)
cbar=plt.colorbar()
cbar.set_label("票房")
plt.grid()
plt.show()

plt.xscale('log')
plt.xscale('log')
import numpy as np
from matplotlib import pyplot as plt
plt.style.use('classic')
plt.figure(figsize=(9,6))
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] # 使用微软雅黑的字体
plt.title("中国票房分布情况")
colors=[1,2,3,4,5,6,7,8,9,10]*5
sizes=list(np.random.randint(100,500,size=(50,)))
plt.scatter(cnbodfsort.PERSONS,cnbodfsort.PRICE,c=colors,edgecolor='black',s=sizes,linewidth=4,alpha=0.5)
cbar=plt.colorbar()
cbar.set_label("票房")
plt.xscale('log')
plt.xscale('log')
plt.grid()
plt.show()
可以看到横坐标轴发生了变化。

以上就是Python matplotlib实现散点图的绘制的详细内容,更多关于Python matplotlib散点图的资料请关注站长源码网其它相关文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了python中heapq堆排算法的实现,该模块提供了堆排序算法的实现。堆是二叉树,最大堆中父节点大于或等于两个子节点,最小堆父节点小于或等于两个子节点。下面文章更多详细介绍,需要的小伙伴可以参考一下
这篇文章主要介绍了Python函数中闭包和延迟绑定详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
在本文中,小编将带大家学习一下Python中的lambda函数,并探讨使用它的优点和局限性。文中的示例代码讲解详细,感兴趣的可以了解一下
break是终止循环的执行, 即循环代码遇到break,就不再循环了。 continue是结束本次循环,继续下一次循环, 即本次循环剩下的代码不再执行,但会进行下一次循环。
1.问题说明最近用DataFrame做大数据处理,发现处理速度特别慢,追究原因,发现是循环处理时,loc,iloc速度都特别慢,当数据量特别大得时候真的是超级慢。查很多资料,发现没有详细说明,以下为解决办法2.问题解决使用Pandas.Series.apply方法,可以对一列数据快速进行处理Series.apply(*func*,*convert_dtype=True*,*arg
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008