openpyxl3.0官方文档(12)—— 散点图

本文介绍如何使用Python库openpyxl创建散点图,并详细解释了散点图的类型及其在Microsoft Excel中的应用。通过代码示例,展示了如何设置散点图的样式,包括标题、轴标签和系列样式。

散点图或xy图类似于一些折线图。主要的区别是,一系列值与另一系列值相对应。这在值无序的情况下很有用。

    from openpyxl import Workbook
    from openpyxl.chart import (
        ScatterChart,
        Reference,
        Series,
    )
    
    wb = Workbook()
    ws = wb.active
    
    rows = [
        ['Size', 'Batch 1', 'Batch 2'],
        [2, 40, 30],
        [3, 40, 25],
        [4, 50, 30],
        [5, 30, 25],
        [6, 25, 35],
        [7, 20, 40],
    ]
    
    for row in rows:
        ws.append(row)
    
    chart = ScatterChart()
    chart.title = "Scatter Chart"
    chart.style = 13
    chart.x_axis.title = 'Size'
    chart.y_axis.title = 'Percentage'
    
    xvalues = Reference(ws, min_col=1, min_row=2, max_row=7)
    for i in range(2, 4):
        values = Reference(ws, min_col=i, min_row=1, max_row=7)
        series = Series(values, xvalues, title_from_data=True)
        chart.series.append(series)
    
    ws.add_chart(chart, "A10")
    
    wb.save("scatter.xlsx")
    

在这里插入图片描述规范中指出,散点图有以下类型:“线条”、“线条标记”、“标记”、“平滑”、“平滑标记”。但是,至少在Microsoft Excel中,这只是其他设置的快捷方式。为了与折线图保持一致,应手动设置每个系列的样式。

ECharts是一个强大的JavaScript数据可视化库,用于创建各种图表。在ECharts中,散点图(Scatter Chart)常用于展示两个变量之间的关系,每个点代表一对数值对。以下是绘制散点图的基本步骤: 1. 首先,你需要在HTML中引入ECharts的JS文件和CSS样式: ```html <script src="https://cdn.jsdelivr.net/npm/echarts@5.2.1/dist/echarts.min.js"></script> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/echarts@5.2.1/theme/macarons.min.css"> ``` 2. 创建一个`<div>`元素,并给它一个id,这将是ECharts实例化的容器: ```html <div id="main" style="width: 600px;height:400px;"></div> ``` 3. 然后,在JavaScript中初始化ECharts并配置散点图数据: ```javascript var myChart = echarts.init(document.getElementById(&#39;main&#39;)); // 配置选项 var option = { title: { text: &#39;散点图示例&#39; }, tooltip: {}, xAxis: { type: &#39;value&#39;, name: &#39;X轴&#39; }, yAxis: { type: &#39;value&#39;, name: &#39;Y轴&#39; }, series: [ { name: &#39;散点&#39;, data: [[5, 8], [4, 7], [7, 9], [1, 2], [3, 4]], // 数据,每对数字对应一个点 symbolSize: function (val) { return val[2] / 3; }, // 根据第三个维度调整点大小 itemStyle: { normal: { color: function (params) { return params.data[2] > 5 ? &#39;#f00&#39; : &#39;#0f0&#39;; } // 根据第三个维度颜色编码 } } } ] }; // 绘制图表 myChart.setOption(option); ``` 在这个例子中,我们设置了X轴和Y轴名称,数据部分包含了五个点,每个点由两维坐标和一个额外的值表示。`symbolSize`函数决定了点的大小,而`color`属性则根据第三个值动态改变颜色。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值