气泡图本质上还是散点图,与散点图不同的是气泡图中的点更大。可以设置气泡半透明,可以设置气泡边线的颜色和线宽。Excel中可以绘制二维气泡图和三维效果的气泡图。
二维气泡图
Excel绘制的二维气泡图如图4-25所示,默认时气泡是半透明的。
\[\]
图4-43 二维气泡图
下面的代码利用给定的数据绘制二维气泡图。完整代码见:Samples->ch07 数值型图表->19 二维气泡图->py.py。
code.python
root=os.getcwd() #获取当前工作路径
app=xw.App(visible=True,add_book=False) #创建Excel应用
wb=app.books.open(root+r’/data.xlsx’,read_only=False) #打开数据文件返回工作簿对象
sht=wb.sheets(‘Sheet1’) #获取指定工作表对象
sht.api.Range('A1:C10').Select() #数据
shp=sht.api.Shapes.AddChart2(-1,xw.constants.ChartType.xlBubble,20,20,300,200,True)
cht=shp.Chart #获取图表
set_style(cht) #设置样式
运行代码生成图4-43。
Excel绘制的二维复合气泡图如图4-44所示,不同组数据用不同颜色的气泡表示。
\[\]
图4-44 二维复合气泡图
下面的代码利用给定的数据绘制二维复合气泡图。完整代码见:Samples->ch07 数值型图表->19 二维气泡图->py2.py。
code.python
root=os.getcwd() #获取当前工作路径
app=xw.App(visible=True,add_book=False) #创建Excel应用
wb=app.books.open(root+r’/data.xlsx’,read_only=False) #打开数据文件返回工作簿对象
sht=wb.sheets(‘Sheet1’) #获取指定工作表对象
sht.api.Range('A1:C10').Select() #数据
shp=sht.api.Shapes.AddChart2(-1,xw.constants.ChartType.xlBubble,20,20,300,200,True)
cht=shp.Chart #获取图表
ser=cht.SeriesCollection().NewSeries() #新建序列
ser.ChartType=xw.constants.ChartType.xlBubble #气泡图
ser.XValues=sht.api.Range('D1:D10') #横轴数据
ser.Values=sht.api.Range('E1:E10') #纵轴数据
ser.BubbleSizes=sht.api.Range('F1:F10') #定义气泡大小的数据
set_style(cht) #设置样式
运行代码生成图4-44。
三维气泡图
Excel中可以绘制三维效果的气泡图,如图4-45所示。
\[\]
图4-45 三维气泡图
下面的代码根据给定数据绘制三维气泡图。完整代码见:Samples->ch07 数值型图表->20 三维气泡图->py.py。
code.python
root=os.getcwd() #获取当前工作路径
app=xw.App(visible=True,add_book=False) #创建Excel应用
wb=app.books.open(root+r’/data.xlsx’,read_only=False) #打开数据文件返回工作簿对象
sht=wb.sheets(‘Sheet1’) #获取指定工作表对象
sht.api.Range('A1:C10').Select() #数据
shp=sht.api.Shapes.AddChart2(-1,xw.constants.ChartType.xlBubble3DEffect,20,20,300,200,True)
cht=shp.Chart #获取图表
set_style(cht) #设置样式
运行代码生成图4-45。