我是靠谱客的博主 独特小天鹅,最近开发中收集的这篇文章主要介绍Python matplotlib 散点图一、整理数据二、修改点的样式三、呈现半透明的状态四、点呈现多彩的颜色五、让点的大小不一六、侧边呈现颜色卡七、改变集中性,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

注:关于本篇博客使用的数据 cnboo1.xlsx

我放在我的码云,需要的请移步 :cnboo1.xlsx

文章目录

  • 一、整理数据
  • 二、修改点的样式
  • 三、呈现半透明的状态
  • 四、点呈现多彩的颜色
  • 五、让点的大小不一
  • 六、侧边呈现颜色卡
  • 七、改变集中性

一、整理数据

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 散点图一、整理数据二、修改点的样式三、呈现半透明的状态四、点呈现多彩的颜色五、让点的大小不一六、侧边呈现颜色卡七、改变集中性所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部