ggplot_pypi 0.11.5
简单的图层累加,越后面图层越高
数据层+几何图形层+美化层:
ggplot(data = , aes(x = , y = )) +
geom_XXX(…) + … + stat_XXX(…) + … +
annotate(…) + … + labs(…) +
scale_XXX(…) + coord_XXX(…) + guides(…) + theme(…) +
facet_XXX(…)
几何对象函数 描述
geom_abline 线图,由斜率和截距指定
geom_area 面积图(即连续的条形图)
geom_bar 条形图
geom_bin2d 二维封箱的热图
geom_blank 空的几何对象,什么也不画
geom_boxplot 箱线图
geom_contour 等高线图
geom_crossbar crossbar图(类似于箱线图,但没有触须和极值点)
geom_density 密度图
geom_density2d 二维密度图
geom_errorbar 误差线(通常添加到其他图形上,比如柱状图、点图、线图等)
geom_errorbarh 水平误差线
geom_freqpoly 频率多边形(类似于直方图)
geom_hex 六边形图(通常用于六边形封箱)
geom_histogram 直方图
geom_hline 水平线
geom_jitter 点、自动添加了扰动
geom_line 线
geom_linerange 区间,用竖直线来表示
geom_path 几何路径,由一组点按顺序连接
geom_point 点
geom_pointrange 一条垂直线,线的中间有一个点(与Crossbar图和箱线图相关,可以用来表示线的范围)
geom_polygon 多边形
geom_quantile 一组分位数线(来自分位数回归)
geom_rect 二维的长方形
geom_ribbon 彩虹图(在连续的x值上表示y的范围,例如Tufte著名的拿破仑远征图)
geom_rug 触须
geom_segment 线段
geom_smooth 平滑的条件均值
geom_step 阶梯图
geom_text 文本
geom_tile 瓦片(即一个个的小长方形或多边形)
geom_vline 竖直线
统计变换函数 描述
stat_smooth 添加平滑曲线
stat_density 统计的密度
xlab,ylab 为x,y轴添加标签
labs,添加x,y标签和title
xlim,ylim 上下限
import numpy as np
import pandas as pd
from ggplot import ggplot,aes
#数据帧
df = pd.DataFrame(np.arange(9).reshape(3,3),columns=["a","b","c"])
#ggplot 绘制图形
#数据层
data = ggplot(df,aes(x="a",y="b"))
#显示数据层
print(data)
geom_point()
#数据帧
df = pd.DataFrame(np.arange(9).reshape(3,3),columns=["a","b","c"])
#ggplot 绘制图形
#数据层 color颜色渐变控制
#shape = '列' 控制点的形状
data = ggplot(df,aes(x="a",y="b",color="c"))
#几何图形层 散点
geom = geom_point()
#显示数据层+几何图形层
print(data+geom)
from ggplot import *
import numpy as np
import pandas as pd
df = pd.DataFrame(np.arange(9).reshape(3,3),columns=["a","b","shape"])
#指定一列字符串值,用于分配点的形状
df["shape"] = ["10","5","7"]
#画图
p = ggplot(df,aes(x="a",y="b",shape="shape"))+geom_point()+ggtitle("title")
print(p)
geom_line()+
ggtitle(“xxx”)
#数据帧
df = pd.DataFrame(np.arange(9).reshape(3,3),columns=["a","b","c"])
#ggplot 绘制图形
#数据层 color颜色控制
data = ggplot(df,aes(x="a",y="b",color="factor(c)"))
#几何图形层
geom = geom_line()
#美化层
title = ggtitle("标题")
#显示数据层+几何图形层
print(data+geom)
from ggplot import *
#使用内置的数据集
df = mpg
df = df.filter(["cty","hwy"])
#绘制直方图 图层累加
p = ggplot(df, aes(x='cty')) + \
geom_histogram() + \
xlab("City MPG (Miles per Gallon)") + \
ylab("# of Obs")+ggtitle("直方图") #需设置matplotlib才可以显示中文
print(p)
import numpy as np
import pandas as pd
from ggplot import *
from matplotlib import pyplot as plt
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
#
df = pd.DataFrame(np.arange(9).reshape(3,3),columns=["a","b","c"])
#绘图
#geom_line?
p = ggplot(df, aes(x='a', y='b')) + \
geom_line(color="red",linetype="dashed",size=3)+geom_area()+ggtitle("面积图")+xlab("x")+ylab("y")
print(p)
#使用内置的数据集
print(mtcars["cyl"].value_counts())
#绘图条形图,统计series
p = ggplot(mtcars, aes(x='cyl')) + geom_bar(color="red",size=5,fill=None)\
+labs(x="x",y="y",title="title")
#color 边框颜色
#size 边框的宽度
#fill 内部填充的颜色 "red"/(0.2,0.3,0.5,0.7)rgba 会覆盖边框颜色
#(0.4,0.8,0.3,0.6)
print(p)
#使用内置数据mtcars
#cyl列为x轴,分组类别
#mpg列为y轴 真实数据
#以x轴的每个值对y 进行分组
#y的每一组 为series 画箱体图
p = ggplot(mtcars, aes(x='cyl', y='mpg')) + geom_boxplot()
print(p)
p = ggplot(diamonds, aes(x='carat', y='price')) + \
geom_point(alpha=0.1,size=100,color='orange',edgecolors="r",shape="^") + \
stat_smooth(method='lm') + \
xlim(0, 5) + \
ylim(0, 20000)
print(p)
出现如下异常:
解决办法:
改ggplot>stats>stat_smooth.py 的源码
smoothed_data.sort(“x”)–>smoothed_data.sort_values(“x”)