我是靠谱客的博主 单薄悟空,最近开发中收集的这篇文章主要介绍Python交互图表可视化 bokeh(三) --散点图,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

散点图

  1. 基本散点图绘制
  2. 散点图颜色、大小设置方法
  3. 不同符号的散点图
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(三) --散点图所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部