涨姿势,Python 画图竟还能这么整

饼图

在画饼图的时候可以使用DataFrame.plot.pie()或Series.plot.pie()创建饼图。如果您的数据包含任何NaN,它们将被自动填充为0, 如果数据中有任何负值,将引发ValueError。 画饼图详细代码如下:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

def craw_pie():

    series = pd.Series(3 * np.random.rand(4), index=["1", "2", "3", "4"], name="series")
    series.plot.pie(figsize=(6, 6));
    plt.show()

if __name__ == '__main__':
    craw_pie()

显示结果如下:

在这里插入图片描述
对于饼状图,最好使用正方形图形,即图形长宽比为1。您可以创建宽度和高度相等的图形,或者通过在返回的axes对象上调用ax.set_aspect(‘equal’)来绘制后强制宽高比相等。

注意: 带DataFrame的饼图要求您通过y参数指定目标列,或者subplot =True。当指定y时,将绘制选定列的饼图。如果指定subplot =True,则将每个列的饼图绘制为子图。默认情况下,将在每个饼图中绘制一个图例; 指定legend=False来隐藏它。

例如:将每个列的饼图绘制为子图实例如下:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

def draw_pie1():
    df = pd.DataFrame(
        3 * np.random.rand(4, 2), index=["a", "b", "c", "d"], columns=["x", "y"])
    df.plot.pie(subplots=True, figsize=(8, 4))
    plt.show()

if __name__ == '__main__':
    draw_pie1()

显示结果图如下:

在这里插入图片描述
根据上图显示可知,加了subplots=True参数后,图形显示的颜色代表在长方形图片中已展示出来。

如果要隐藏,加legend=False即可隐藏,实例如下:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

def draw_pie1():
    df = pd.DataFrame(
        3 * np.random.rand(4, 2), index=["a", "b", "c", "d"], columns=["x", "y"])
    df.plot.pie(subplots=True, figsize=(8, 4), legend=False)
    plt.show()

if __name__ == '__main__':
    draw_pie1()

结果图如下:

在这里插入图片描述

咱们在绘画的时候也可以可以使用标签和颜色关键字来指定每个楔形的标签和颜色,例如:

def draw_pie2():
    series = pd.Series(3 * np.random.rand(4), index=["1", "2", "3", "4"], name="series")
    series.plot.pie(
        labels=["A", "B", "C", "D"],
        colors=["r", "g", "b", "c"],
        autopct="%.2f",
        fontsize=20,
        figsize=(6, 6),)
    plt.show()

if __name__ == '__main__':
    draw_pie2()

展示结果如下:

在这里插入图片描述
如果传递的值的总和小于1,matplotlib会画一个半圆。

实例如下:

def draw_pie3():
    series = pd.Series([0.1] * 4, index=["a", "b", "c", "d"], name="series2")
    series.plot.pie(figsize=(6, 6))
    plt.show()

if __name__ == '__main__':
    draw_pie3()

在这里插入图片描述

散射矩阵图

你可以使用 pandas.plotting 绘图板中的 scatter_matrix方法创建一个散点图矩阵,实例如下:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from pandas.plotting import scatter_matrix
def draw_pie4():

    df = pd.DataFrame(np.random.randn(1000, 4), columns=["a", "b", "c", "d"])

    scatter_matrix(df, alpha=0.2, figsize=(6, 6), diagonal="kde")
    plt.show()

if __name__ == '__main__':
    draw_pie4()

显示结果图如下:

在这里插入图片描述

总结

今天的文章就到这里啦,希望今天的文章对大家有帮助!

岗位内推、学习交流

我们大量需要前端岗位、python岗位、Java 岗位、Android 和 iOS 的开发岗位,工作地点:北京字节,欢迎校招社招扫描下方二维码找我内推

Python资料、技术、课程、解答、咨询也可以直接点击下面名片,添加官方客服斯琪

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值