柱状图代码(Python绘制柱状图代码)
admin 发布:2022-12-19 10:08 167
今天给各位分享柱状图代码的知识,其中也会对Python绘制柱状图代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、如何用D3.js绘制柱状图
- 2、excel 中利用宏自动生成图表的代码(柱状图,饼图和折线图)
- 3、怎样用VBA代码画柱状图?望各位赐教,谢谢!
- 4、如何用c++的mfc绘制柱状图
- 5、求ASP.NET中用C#或者别的简单的代码,能够生成柱状图,简单一点的……
- 6、如何在C#的WinForm中制作柱状图
如何用D3.js绘制柱状图
1、模拟数据
// 模拟100条0-100的随机数,作为柱状图的高度
var data = Array.apply(0, Array(100)).map(function() {
return Math.random() * 100;
});
2、创建SVG容器
var margin = {top: 20, right: 20, bottom: 30, left: 50},
width = document.body.clientWidth - margin.left - margin.right,
height = 500 - margin.top - margin.bottom;
var chart = d3.select('body')
.append('svg')
.attr('width', width + margin.left + margin.right)
.attr('height', height + margin.top + margin.bottom)
.append('g')
.attr('transform', 'translate(' + margin.left + ', ' + margin.top + ')');
chart就是最终建立的容器,下面就往容器里面放元素。
3、画柱状图
// 计算每根柱状物体的宽度
var barWidth = width / data.length;
// 用g作每根柱状物体的容器,意义可类比div
// 前一篇文章已经介绍过selectAll的意义,即生成占位符,等待填充svg图形
var bar = chart.selectAll('g')
.data(data)
.enter()
.append('g')
// 接收一个数据填充一个g元素
// 同时为g设置位置
.attr('transform', function(d, i) {
return 'translate(' + i * barWidth + ', 0)';
});
bar.append('rect')
// 添加一个矩形
.attr('y', function(d) {
return height - d;
})
.attr('height', function(d) {
return d;
})
.attr('width', barWidth - 1);
前文提到svg的元素定位都是基于整个svg容器左上角作为原点,但并不能使用position: absolute等方法定位,此处的g元素通过位移来定位x坐标,即transform: translate(x, 0)。
这里的bar可类比jQuery对象,是一个类数组对象,bar调用的方法都会对bar里面每个对象进行调用。代码中每一次调用都插入一个矩形,同时设置y坐标、高度和宽度,x坐标跟父容器(g)保持一致即可。这里需要注意y坐标往下为正,为了让所有矩形的下边处于同一高度,这里设置每个矩形的y坐标为容器高度减去矩形高度。为了用一像素区分开每个矩形,这里设置矩形宽度为父容器的宽度减1。
通过以上js代码再稍微设置一点css
rect {
fill: #2177BB;
}
即可看到一张最简单的柱状图了。
4、添加坐标轴
var y = d3.scale.linear()
.domain([0, d3.max(data)])
.range([height, 0]);
var xAxis = d3.svg.axis()
.scale(x)
.orient('bottom')
.ticks(1);
var yAxis = d3.svg.axis()
.scale(y)
.orient('left');
// 添加x坐标轴
chart.append('g')
.attr('class', 'x axis')
.attr('transform', 'translate(0,' + height + ')')
.call(xAxis);
// 添加y坐标轴
chart.append('g')
.attr('class', 'y axis')
.call(yAxis);
完整的柱状图就是这样了
excel 中利用宏自动生成图表的代码(柱状图,饼图和折线图)
建议,你打开“宏-录制宏”,然后手工操作一次通过数据生成图表的过程,最后再按“停止录制”,然后按ALT+F11就能看到这个生成图表的宏代码了。
怎样用VBA代码画柱状图?望各位赐教,谢谢!
把你的数句拷贝到sheet1的A1到C5,程序如下。图的位置需要手动调整
Sub test()
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A1:B5"), PlotBy:= _
xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("A1:A5,C1:C5"), _
PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsObject, Name:="Sheet1"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "CurrentWorkload"
.Axes(xlCategory, xlPrimary).HasTitle = False
.Axes(xlValue, xlPrimary).HasTitle = False
End With
End Sub
如何用c++的mfc绘制柱状图
用c++的mfc绘制柱状图的方法如下:
1:取GroupBox的区域,并保存四个值 左,上,右,下
//获取屏幕坐标
((CWnd*)GetDlgItem(IDC_STATIC_CHART))-GetWindowRect(rect);
//计算x轴y轴基本单位
int dx = (rect.right-rect.left)/50;
int dy = (rect.bottom-rect.top)/80;
//转换成对话框坐标
ScreenToClient(rect);
//保存4个值
int L = rect.left,R = rect.right,T = rect.top,B = rect.bottom;
GroupBox的区域我忘记标出来了,就在上面图中柱状图那一块
2:获取DC,这一步没什么好说的
CPaintDC dc(this);
3:画X轴,Y轴
//X
dc.MoveTo(L+dx*2,B-dy*3);
dc.LineTo(L+dx*49,B-dy*3);
//最后的那个箭头
dc.MoveTo(L+dx*49,B-dy*3);
dc.LineTo(L+dx*48,B-dy*2);
dc.MoveTo(L+dx*49,B-dy*3);
dc.LineTo(L+dx*48,B-dy*4);
Y轴同理,但是考虑到dx,dy的值不一样,当画Y轴的箭头时,需要交换dx和dy的位置
//纵坐标线 dc.MoveTo(L+dx*2,B-dy*3);
dc.LineTo(L+dx*2,B-dy*77);
dc.MoveTo(L+dx*2,B-dy*77);
//交换了dx,dy的位置
dc.LineTo(L+dx*2-dy,B-dy*77+dx);
dc.MoveTo(L+dx*2,B-dy*77);
//交换了dx,dy的位置
dc.LineTo(L+dx*2+dy,B-dy*77+dx);
绘制完结果如图:
4:画柱状图,这里主要根据前面计算dx,dy时,划分的数量来计算每个柱的宽度,以及柱间的间隔
//第一个柱状体的左下坐标
int x = L+dx*3;
int y = B-dy*3;
for(int i=0;i
CRect rc;
rc.left=x+i*dx*9;
rc.right=rc.left+dx*7;
rc.bottom=y;
rc.top=rc.bottom-dy*answer[index][i+1];
//这里把柱状图的信息输出,这里输出的是一个数字,因为要转换成字符串,比较麻烦
//处理了一下,肯定有简洁的处理方式,但是我也懒得去想了,我很懒的
dc.SetBkMode(TRANSPARENT);//设置透明背景,要不然输出文字之后会有一块白,难看
char num[10];
sprintf(num,"%d",answer[index][i+1]);
CString strnum(num);
dc.TextOutW((rc.left+rc.right)/2-dx,rc.bottom-dy*(answer[index][i+1]+3),strnum);
//画刷是我之前就定义好的,直接拿来用
dc.FillRect(rc,brushs+i);
}
5:添加控件消息响应函数
维护一个全局变量index来保存当前题号,创建重绘函数updateInfo
void CEnglishReportDlg::updateInfo(){
int count = choose_c[index];
int i;
//选项存在,赋值,L是宏命令与TEXT()相同功能
for(i=0;i
m_strLable[i] = choose[index][i];
}
//无此选项,置空
for(;i5;i++)
m_strLable[i] = L"";
m_strTopic = topics[index];
//获取GroupBox区域,并转换成对话框坐标
CRect rect;
((CWnd*)GetDlgItem(IDC_STATIC_CHART))-GetWindowRect(rect);
ScreenToClient(rect);
//重绘此区域
InvalidateRect(rect);
//将控件变量更新到前台
UpdateData(FALSE);
}
函数1:响应ListBox的SelChange事件
void CEnglishReportDlg::OnLbnSelchangeListTopic()
{
// TODO: 在此添加控件通知处理程序代码
index = m_listtopic.GetCurSel();
updateInfo();
}
函数2:上一页按钮的Click事件
void CEnglishReportDlg::OnBnClickedButtonPre()
{
// TODO: 在此添加控件通知处理程序代码
if(index0)
index--;
updateInfo();
m_listtopic.SetCurSel(index);
}
函数3:下一页按钮的Clicl事件
void CEnglishReportDlg::OnBnClickedButtonNext()
{
// TODO: 在此添加控件通知处理程序代码
if(index19)
index++;
updateInfo();
m_listtopic.SetCurSel(index);
}
至此基本的功能都已经实现了,还差最后一步:
6:初始化对话框
for(int i=0;i20;i++){
m_listtopic.AddString(topics[i]);
}
//index初始化为0,直接刷新
updateInfo();
m_listtopic.SetCurSel(index);
运行结果如下:
求ASP.NET中用C#或者别的简单的代码,能够生成柱状图,简单一点的……
用MSChart吧,非常简单,有UI设计界面的,位置,颜色随你设置了。给你个例子,我的一个折线图(this.Model 里面是数据的list):
%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage" %
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
""
html xmlns=""
head id="Head1" runat="server"
title/title
script runat="server"
protected void Page_Load(object sender, EventArgs e)
{
IEnumerable data = this.Model as IEnumerable;
this.Chart_AssetsByYear.Series["Default"].Points.DataBind( data, "Year", "Total", "" );
this.Chart_AssetsByYear.Series["Default"]["PieLabelStyle"] = "inside";
this.Chart_AssetsByYear.Series["Default"]["PieDrawingStyle"] = "Concave";
this.Chart_AssetsByYear.Legends[0].Enabled = true;
}
/script
/head
body style="margin: 0px; padding: 0px;"
asp:Chart ID="Chart_AssetsByYear" runat="server" BackColor="WhiteSmoke" Height="500"
Width="865" BorderDashStyle="Solid" BackSecondaryColor="White" BackGradientStyle="TopBottom"
BorderWidth="1" BorderColor="26, 59, 105"
Legends
asp:Legend BackColor="Transparent" Docking="Right" Font="Trebuchet MS, 8.25pt, style=Bold"
IsTextAutoFit="False" LegendStyle="Column" Enabled="False" Title="图例" /
/Legends
Titles
asp:Title ShadowColor="32, 0, 0, 0" Font="Microsoft YaHei, 14.25pt, style=Bold"
ShadowOffset="3" Text="年度增长趋势" Name="Title" ForeColor="26, 59, 105" /
/Titles
Series
asp:Series Name="Default" IsValueShownAsLabel="true" ToolTip="时间: #VALX\n增长: #VALY{C}"
LabelFormat="C" ShadowOffset="2" BorderColor="#3764A0" PostBackValue="#INDEX"
LegendPostBackValue="#INDEX" Color="220, 65, 140, 240" LegendText="年度增长金额(RMB)"
CustomProperties="DrawingStyle=Emboss, PieDrawingStyle=Concave, EmptyPointValue=Zero, DrawSideBySide=True" /
/Series
ChartAreas
asp:ChartArea Name="ChartArea_AssetsByYear" BorderColor="64, 64, 64, 64" BackSecondaryColor="Transparent"
BackColor="Transparent" ShadowColor="Transparent" BorderWidth="0"
AxisY LineColor="64, 64, 64, 64"
LabelStyle Font="Trebuchet MS, 8.25pt, style=Bold" /
MajorGrid LineColor="64, 64, 64, 64" /
/AxisY
AxisX LineColor="64, 64, 64, 64"
LabelStyle Font="Trebuchet MS, 8.25pt, style=Bold" /
MajorGrid LineColor="64, 64, 64, 64" /
/AxisX
/asp:ChartArea
/ChartAreas
/asp:Chart
/body
/html
如何在C#的WinForm中制作柱状图
(1)设计时,在Form1上布置一个Chart控件,2个RadioButton
(2)窗体代码Form1.cs如下
using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Drawing;
using System.Windows.Forms.DataVisualization.Charting;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
chart1.Series[0].Points.AddXY(1, 10);
chart1.Series[0].Points.AddXY(2, 80);
chart1.Series[0].Points.AddXY(3, 55);
chart1.Series[0].Points.AddXY(4, 70);
chart1.Series[0].Points.AddXY(5, 92);
}
private void radioButton1_CheckedChanged(
object sender,
EventArgs e)
{
if (radioButton1.Checked)
{
chart1.Series[0].ChartType = SeriesChartType.Column;
}
else
{
chart1.Series[0].ChartType = SeriesChartType.Pie;
}
}
}
}
柱状图代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Python绘制柱状图代码、柱状图代码的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
相关推荐
- 05-05医院预约系统代码(医院预约系统代码怎么查)[20240505更新]
- 05-05jquery柱状图代码(js柱状图如何实现)[20240505更新]
- 05-05js二维码识别代码(二维码识别程序)[20240505更新]
- 05-05代码转化器(什么是代码转换)[20240505更新]
- 05-05asp.net输出html代码(html5 asp)[20240505更新]
- 05-05酒店订房页面代码(酒店房间代码)[20240505更新]
- 05-05discuz代码模式(discuz代码大全)[20240505更新]
- 05-05跑马灯样式代码(花式跑马灯代码解析)[20240505更新]
- 05-05htmlqq代码(html跳转代码)[20240505更新]
- 05-05游程编码代码(游程编码的实现)[20240505更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
-
- 网络营销和推广做什么,网络营销和推广做什么好
- 医院预约系统代码(医院预约系统代码怎么查)[20240505更新]
- jquery柱状图代码(js柱状图如何实现)[20240505更新]
- js二维码识别代码(二维码识别程序)[20240505更新]
- 代码转化器(什么是代码转换)[20240505更新]
- 百度云搜索引擎入口手机版,百度云搜索引擎入口 023dir
- asp.net输出html代码(html5 asp)[20240505更新]
- 酒店订房页面代码(酒店房间代码)[20240505更新]
- discuz代码模式(discuz代码大全)[20240505更新]
- 重庆seo怎么样,重庆seo薪酬水平
- 友情链接