概述
散点图
- 基本散点图绘制
- 散点图颜色、大小设置方法
- 不同符号的散点图
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
# 不发出警告
import warnings
warnings.filterwarnings('ignore')
# 导入notebook绘图模块
from bokeh.io import output_notebook
output_notebook()
# 导入图表绘制、图表展示模块
from bokeh.plotting import figure,show
1、基本散点图绘制
# 创建数据
s = pd.Series(np.random.randn(80))
# 创建散点图
p = figure(plot_width=600, plot_height=400)
p.circle(s.index, s.values, # x, y值,也可以写成:x=s.index , y=s.values
size=25, color='navy', alpha=0.5, # 点的大小、颜色、透明度
fill_color='blue', fill_alpha=0.6, # 填充的颜色、透明度
line_color='black', line_alpha=0.8, line_dash=[6,3], line_width=2, # 点边线的颜色、透明度、虚线、宽度
# 同时还有line_cap , line_dash_offset , line_join 参数
legend_label='散点图' , # 设置图例
# radius=2 # 设置点的半径,和size只能同时选一个
)
# 设置图例位置
p.legend.location='bottom_right'
show(p)
2、散点图不同 颜色上色、散点大小的方法
# 数据中有一列专门用于设置颜色/点大小
from bokeh.palettes import brewer
# 创建数据,有2列随机值
rng = np.random.RandomState(1)
df = pd.DataFrame(rng.randn(100,2)*100, columns=['A','B'])
# 设置点大小字段
df['size'] = rng.randint(10,30,100)
# 设置颜色字段,通过字典/列表,识别颜色str
colormap1 = {1:'red', 2:'green', 3:'blue'}
df['color1'] = [colormap1[x] for x in rng.randint(1,4,100)] # 调色盘1
# df['color1'] = np.random.choice(['red', 'green', 'blue'], 100) # 也可以用这种
n=8
colormap2 = brewer['Blues'][n]
df['color2'] = [colormap2[x] for x in rng.randint(0,n,100)] # 调色盘2 ,蓝色渐变
p = figure(plot_width=600, plot_height=400)
p.circle(df['A'], df['B'], # 设置散点图x, y的值
line_color='white', # 设置点边线为白色
fill_color=df['color1'] , fill_alpha=0.5, # 设置内部填充颜色,这里用到了颜色字段
size=df['size'] # 设置点大小,这里用到了点大小字段
)
show(p)
# 遍历数据分开做图
# 创建数据,有2列随机值
rng = np.random.RandomState(1)
df = pd.DataFrame(rng.randn(100,2)*100, columns=['A','B'])
df['type'] = rng.randint(0,7,100)
df.head()
# 创建颜色列表
colors = ['red', 'olive', 'darkred', 'goldenrod', 'skyblue', 'orange', 'salmon']
p = figure(plot_width=600, plot_height=400, tools='pan,wheel_zoom,box_select,lasso_select,reset')
# 通过分类设置颜色
for t in df['type'].unique():
p.circle(df['A'][df['type']==t], df['B'][df['type']==t], # 设置散点图x,y值
size=20, alpha=0.5,color=colors[t],
legend_label='type {}'.format(t)
)
show(p)
3、不同符号的散点图
p = figure(plot_width=600, plot_height=400, x_range=[0.5,3], y_range=[0,7])
p.circle_cross(1, 1, size=30, alpha=0.5, legend_label='circle_cross')
p.asterisk(1, 2, size=30, alpha=0.5, legend_label='asterisk')
p.circle_x(1, 3, size=30, alpha=0.5, legend_label='circle_x')
p.cross(1, 4, size=30, alpha=0.5, legend_label='cross')
p.diamond_cross(1, 5, size=30, alpha=0.5, legend_label='diamond_cross')
p.diamond(1, 6, size=30, alpha=0.5, legend_label='diamond')
p.inverted_triangle(2, 1, size=30, alpha=0.5, legend_label='inverted_triangle')
p.square(2, 2, size=30, alpha=0.5, legend_label='square')
p.square_cross(2, 3, size=30, alpha=0.5, legend_label='square_cross')
p.square_x(2, 4, size=30, alpha=0.5, legend_label='square_x')
p.triangle(2, 5, size=30, alpha=0.5, legend_label='triangle')
p.x(2, 6, size=30, alpha=0.5, legend_label='x')
show(p)
最后
以上就是单薄悟空为你收集整理的Python交互图表可视化 bokeh(三) --散点图的全部内容,希望文章能够帮你解决Python交互图表可视化 bokeh(三) --散点图所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复