首页 > 其他分享 >可视化

可视化

时间:2024-07-01 16:52:38浏览次数:15  
标签:plt name title 可视化 data echarts opts

D3.js绘制柱形图

<!DOCTYPE html>
 <html lang="en">
 <head>
    <title>bar example</title>
    <script src="d3.min.js"></script>
 </head>
 
<body>
 <div id="barchart"></div>
 <script>
    //定义数据
    var data = [
        {name: "外包", value: 10},
        {name: "金融", value: 20},
        {name: "制造", value: 30},
        {name: "咨询", value: 40}
    ];
 
    // 选择页面上id为'barchart'的元素,并在其中添加一个SVG元素
    var svg = d3.select("#barchart")
        .append("svg")
 
    // 创建一个带状比例尺,通常用于分类数据,比如条形图中的x轴
    var xScale = d3.scaleBand()
    // 创建一个线性比例尺,用于连续数据,比如条形图中的y轴
    var yScale = d3.scaleLinear()
 
    // 选择svg元素,使用data()方法绑定数据到选择集
    // 这里假设data是一个包含对象的数组,每个对象至少有两个属性:name和value
    svg.selectAll(".bar")
        .data(data) // 绑定数据到选择集
        .enter() // 进入数据绑定的上下文
        .append("rect") // 在每个数据点上添加一个矩形元素
        .attr("class","bar") // 设置矩形元素的类名为'bar'
        .attr("x", function(d) {return xScale(d.name);}) // 设置矩形
的x坐标,基于xScale和数据点的name属性
        .attr("y", function(d) {return yScale(d.value);}) // 设置矩形
的y坐标,基于yScale和数据点的value属性
echarts的使用 
        .attr("width", xScale.bandwidth()) // 设置矩形的宽度,使用
xScale的带宽
        .attr("height", function(d) {return height
yScale(d.value);}); // 设置矩形的高度,计算方式是画布的高度减去yScale转换后
的值
</script>
 </body>
 </html>

image

echarts的使用

折现图

 <!DOCTYPE html>
 <html>
    <head>
        <title>echarts基本使用</title>
        <meta charset="utf-8">
        <!-- 步骤1:引入echarts.js文件 -->
        <script src="echarts.min.js"></script>
    </head>
    <body>
        <!--步骤2:准备一个有大小的dom容器-->
        <div style="width: 500px; height: 500px;" id="bar_dom">
 </div>
        <script>
        //步骤3:初始化echarts
        var echarts_init = 
echarts.init(document.getElementById("bar_dom"))
        //步骤4:设置配置数据项
        var options = {
            title: {
                text:"test",
                subtext:'sub'
            },
            tooltip: {
                trigger: "axis"
            },
            legend: {
                data:["图例1","图例2"]
            },
            xAxis: {
                name:'x轴',
                type: 'category',
                data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 
'Sun']
            },
            yAxis: {
                name:'y轴',
                type: 'value'
            },
            series:[{
                    name: "图例1",
                    data: [120, 200, 150, 80, 70, 110, 130],
                    type: 'line' 
                },
                {
                    name: "图例2",
                    data: [10, 20, 50, 80, 60, 10, 30],
                    type: 'line'
                }]
        }
        //步骤5:将设置好的配置项传给echarts
        echarts_init.setOption(options)
        </script>
    </body>
 </html>

image

饼图

<!DOCTYPE html>
 <html>
    <head>
        <title>echarts基本使用</title>
        <meta charset="utf-8">
        <!-- 步骤1:引入echarts.js文件 -->
        <script src="echarts.min.js"></script>
    </head>
    <body>
        <!--步骤2:准备一个有大小的dom容器-->
        <div style="width: 500px; height: 500px;" id="bar_dom">
 </div>
        <script>
        //步骤3:初始化echarts
        var echarts_init = 
echarts.init(document.getElementById("bar_dom"))
        //步骤4:设置配置数据项
        var options = {
            title: {
                text:"test",
                subtext:'sub'
            },
            tooltip: {
                trigger: "item"
            },
            legend: {
                data: ["Apple", "Grapes", "Pineapples"]
            },
             series: [{
                type: "pie",
                data: [
                    {value: 335,name: "Apple"},
                    {value: 310,name: "Grapes"},
                    {value: 234,name: "Pineapples"}
                ]
              }]
        }
        //步骤5:将设置好的配置项传给echarts
        echarts_init.setOption(options)
        </script>
    </body>
 </html>

image

环形图

<!DOCTYPE html>
 <html>
    <head>
        <title>echarts基本使用</title>
        <meta charset="utf-8">
        <!-- 步骤1:引入echarts.js文件 -->
        <script src="echarts.min.js"></script>
    </head>
    <body>
        <!--步骤2:准备一个有大小的dom容器-->
        <div style="width: 500px; height: 500px;" id="bar_dom">
 </div>
        <script>
        //步骤3:初始化echarts
        var echarts_init = 
echarts.init(document.getElementById("bar_dom"))
        //步骤4:设置配置数据项
        var options = {
            title: {
                text:"test",
                subtext:'sub'
            },
            tooltip: {
                trigger: "item"
            },
            legend: {
                data: ["Apple", "Grapes", "Pineapples"]
            },
             series: [{
                type: "pie",
                radius: ['40%', '70%'],
                     data: [
                    {value: 335,name: "Apple"},
                    {value: 310,name: "Grapes"},
                    {value: 234,name: "Pineapples"}
                ]
              }]
        }
        //步骤5:将设置好的配置项传给echarts
        echarts_init.setOption(options)
        </script>
    </body>
 </html>

image

散点图

<!DOCTYPE html>
 <html>
    <head>
        <title>echarts基本使用</title>
        <meta charset="utf-8">
        <!-- 步骤1:引入echarts.js文件 -->
        <script src="echarts.min.js"></script>
    </head>
    <body>
        <!--步骤2:准备一个有大小的dom容器-->
        <div style="width: 500px; height: 500px;" id="bar_dom">
 </div>
        <script>
        //步骤3:初始化echarts
        var echarts_init = 
echarts.init(document.getElementById("bar_dom"))
        //步骤4:设置配置数据项
        var option = {
              title: {
                text:"test",
                subtext:'sub'
              },
              tooltip: {
                trigger: "item"
              },
              legend: {
                data: ["A", "B"]
              },
              xAxis: {
                name:'x轴'
              },
              yAxis: {
                name:'y轴'
              },
              series: [
                {
                  name: "A",
                  data: [
                    [10.0, 8.04],
                    [9.15, 7.2],
                    [12.0, 8.84],
                    [7.08, 5.82],
                    [5.02, 5.68]
                  ],
                  type: 'scatter',
                  showSymbol: true
                },
                {
                  name: "B",
                  data: [
                    [1, 8.04],
                    [9, 7.2],
                    [1, 8.84],
                    [3, 5.82],
                    [4.02, 5.68]
                  ],
                  type: 'scatter'
                }
              ]
            }
        //步骤5:将设置好的配置项传给echarts
        echarts_init.setOption(option)
        </script>
    </body>
 </html>

image

pyecharts的使用

折线图

import pandas as pd
from pyecharts.charts import Line
import pyecharts.options as opts
data=pd.read_excel('商家A和商家B的各类商品的销售数据.xlsx',index_col='商家',engine="openpyxl")
init_opts=opts.InitOpts(width='500px',height='450px')
line = (Line(init_opts).add_xaxis(data.columns.tolist())
      .add_yaxis("A",data.loc["商家A"].tolist())
      .add_yaxis("B",data.loc["商家B"].tolist())
      .set_global_opts(title_opts=opts.TitleOpts(title="title",subtitle="sub_title"),
                       legend_opts=opts.LegendOpts(is_show=True),
                       tooltip_opts=opts.TooltipOpts(trigger="axis")))
line.render("1.html")

image

饼图

import pandas as pd
from pyecharts.charts import Pie
import pyecharts.options as opts

data = pd.read_excel('商家A和商家B的各类商品的销售数据.xlsx', index_col='商家')
init_opts = opts.InitOpts(width='500px', height='450px')

pie = (
    Pie(init_opts)
    .add("price", [list(z) for z in zip(data.columns.tolist(), data.loc['商家A'].tolist())])
    .set_global_opts(title_opts=opts.TitleOpts(title="title", subtitle="sub_title"),
                     legend_opts=opts.LegendOpts(is_show=True),
                     tooltip_opts=opts.TooltipOpts(trigger="item"))
    .set_series_opts(label_opts=opts.LabelOpts(formatter='{b}:{c} ({d} %)'))
)
pie.render_notebook()

image

环形图

import pandas as pd
from pyecharts.charts import Pie
import pyecharts.options as opts
data=pd.read_excel('商家A和商家B的各类商品的销售数据.xlsx',index_col='商家') 
init_opts=opts.InitOpts(width='500px',height='450px')
 
pie=(
 Pie(init_opts)
      .add("price", [list(z) for z in zip(data.columns.tolist(),data.loc['商家A'].tolist())],
      radius=[50,100])
      .set_global_opts(title_opts=opts.TitleOpts(title="title",subtitle="sub_title"),
                 legend_opts=opts.LegendOpts(is_show=True),
                 tooltip_opts=opts.TooltipOpts(trigger="item"))
     .set_series_opts(label_opts=opts.LabelOpts(formatter='{b}:{c}({d}%)'))
    )
pie.render_notebook()

image

散点图

import pandas as pd
from pyecharts.charts import Scatter
import pyecharts.options as opts
data=pd.read_excel('商家A和商家B的各类商品的销售数据.xlsx',index_col='商家')
init_opts=opts.InitOpts(width='500px',height='450px')
scatter=(
 Scatter(init_opts).add_xaxis(data.columns.tolist())
      .add_yaxis("A",data.loc["商家A"].tolist())
      .add_yaxis("B",data.loc["商家B"].tolist())
      .set_global_opts(title_opts=opts.TitleOpts(title="title",subtitle="sub_title"),
                       legend_opts=opts.LegendOpts(is_show=True),
                       tooltip_opts=opts.TooltipOpts(trigger="axis"),
                       xaxis_opts=opts.AxisOpts(name="商品"),
                       yaxis_opts=opts.AxisOpts(name="price"))
)
scatter.render_notebook()

image

matplotlib的使用

折线图

import matplotlib.pyplot as plt
import numpy as np

months = np.arange(1, 13)
sales_data = 100 + 50 * np.random.rand(12)
profit_data = 100 + 50 * np.random.rand(12)
plt.title("test")
plt.plot(months, sales_data, marker="o", linestyle="-.", label="1")
plt.plot(months, profit_data, marker="v", label="2")
plt.xlabel("xxx")
plt.ylabel("yyy")
plt.legend()
plt.xlim(0, 20)
plt.ylim(50, 200)
plt.grid()
plt.figure(figsize=(5, 3))
plt.show()

image

饼图

import matplotlib.pyplot as plt
import numpy as np

months = np.arange(1, 10)
plt.title("test")
plt.pie([10, 20, 30, 40, 50, 60, 70, 80, 90],
        labels=months, autopct="%.2f%%",
        explode=[0, 0, 0, 0, 0, 0, 0, 0, 0.2]
        )
plt.legend()
plt.show()

image

环形图

import matplotlib.pyplot as plt
import numpy as np

months = np.arange(1, 10)
plt.title("test")
plt.pie([10, 20, 30, 40, 50, 60, 70, 80, 90],
        labels=months, autopct="%.2f%%",
        wedgeprops={"width": 0.5, "linewidth": 5, "edgecolor": "w"})
plt.legend()
plt.show()

image

散点图

import matplotlib.pyplot as plt
import numpy as np

x1 = np.random.randint(1, 101, size=8)
x2 = np.random.randint(1, 101, size=8)
y = np.random.randint(1, 101, size=8)
colors = np.array(["red", "green", "black", "orange", "purple", "beige", "cyan","magenta"])
plt.title("title", loc="left")
plt.scatter(x1, y, c=colors, s=np.random.randint(100, 200, size=8), marker = "*", alpha = 0.2)
plt.scatter(x2, y, c=colors, s=np.random.randint(100, 200, size=8))
plt.show()

image

标签:plt,name,title,可视化,data,echarts,opts
From: https://www.cnblogs.com/E-Sheep/p/18278400

相关文章

  • 图论初步与可视化
    本讲将简要介绍图论中的基本概念,并主要讲解图论中的最短路径问题。以及如何将图论可视化目录一、图论的概念二、在线作图网站1.index介绍2.NodeCount介绍3.Graphdata三、Matlab作无向图1.无权图(每条边的权重默认为1)2.利用字符串做无权图3.有权图四、Matlab作有向图一、图论的......
  • 这5个炫酷的python 数据可视化工具,你用过吗?
    常用的Python数据可视化小工具,推荐下面几个,熟练使用以后,做数据可视化不再是难题,并且,这几个数据可视化库在使用时可以取长补短,将数据信息表达发挥到极致,下面一起了解,都有哪些数据可视化库?可以帮助我们更好地呈现数据。1、Matplotlib:基础绘图库官网:https://www.matplotlib......
  • 用免费可视化工具做智慧城市,一屏实现城市统筹管理
    在智慧城市的建设中,实现高效的统筹管理是至关重要的。通过免费可视化工具“山海鲸可视化”,这一目标可以轻松达成。山海鲸可视化是一款免费可视化工具,具备二三维融合、易用性、安全性以及高质量画面渲染等特色,是制作智慧城市可视化大屏的理想选择。山海鲸可视化的二三维融合功能,......
  • 数据分析必备:一步步教你如何用matplotlib做数据可视化(13)
    1、Matplotlib文本Matplotlib具有广泛的文本支持,包括对数学表达式的支持,对光栅和矢量输出的TrueType支持,具有任意旋转的换行符分隔文本以及unicode支持。Matplotlib包含自己的matplotlib.font_manager,它实现了一个跨平台,符合W3C标准的字体查找算法。用户可以对文本属性(......
  • Memcached数据洞察:解锁交互式数据可视化的大门
    ......
  • 网易云音乐数据爬取与可视化分析系统
    摘要本系统采用Python语言,基于网易云音乐,通过数据挖掘技术对该平台的音乐数据进行了深入的研究和分析,旨在挖掘出音乐市场的规律,为音乐人、唱片公司、音乐爱好者等提供数据支持。系统的开发意义在于:一方面为音乐从业人员提供有力的决策参考,指导其策划和评估音乐项目;另一方面......
  • SSM-学情分析系统-56772(免费领源码+开发文档)可做计算机毕业设计JAVA、PHP、爬虫、APP
    学情分析系统摘 要随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于学情分析系统当然也不能排除在外,随着网络技术的不断成熟,带动了学情分析系统,它彻底改变了过去传统的管理方式,不仅使服务管理难度变低了,还提升了管理的灵活性。这......
  • 基于SpringBoot的高校大学生学科竞赛管理系统+53135(免费领源码)可做计算机毕业设计JAVA
    springboot高校大学生学科竞赛管理系统的设计与实现摘 要随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设高校大学生学科竞赛管理系统。......
  • 一键掌控,智慧升级:度假酒店可视化管理解决方案全解析
    在繁忙的都市生活中,度假酒店成了许多人逃离喧嚣、寻找宁静的首选之地。然而,随着旅游业的蓬勃发展,度假酒店面临的挑战也日益增多。如何提升服务质量、确保客人满意度、优化运营效率,成为了摆在各大度假酒店面前的难题。 传统的酒店管理模式往往依赖于人工巡查、纸质记录等方式,不......
  • 基于Python的招聘岗位数据爬虫及可视化分析系统【源码】
    一、引言在信息爆炸的时代,数据分析成为理解行业趋势、优化人才配置的关键。本篇博客将详细介绍如何利用Python构建一套招聘岗位数据爬虫系统,并结合数据分析与可视化技术,为人力资源管理者和求职者提供岗位需求分析、薪资分布、技能要求等多维度的洞见。本系统旨在帮助用户快速......