社区
C#
帖子详情
OWC10中的图表显示的是斜的,怎么设置成正常的呢?
lzhzxl1
2004-09-03 03:52:24
同上
...全文
116
7
打赏
收藏
OWC10中的图表显示的是斜的,怎么设置成正常的呢?
同上
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhanghait
2004-10-18
打赏
举报
回复
objChart.Type = OWC11.ChartChartTypeEnum.chChartTypeColumnClustered3D;
2d图是正常的,3d图默认是斜的。
whb147
2004-09-04
打赏
举报
回复
cht.Type = c.chChartTypeColumnClustered
改为
cht.Type = 1
看看
whb147
2004-09-04
打赏
举报
回复
应该是你的类型写错了
lzhzxl1
2004-09-03
打赏
举报
回复
横列纵列都是斜的!!!
lzhzxl1
2004-09-03
打赏
举报
回复
柱状图那个版都是斜的!!!
whb147
2004-09-03
打赏
举报
回复
你说那个是斜的呀?柱状图是斜的??
我用过这个玩艺,显示正常
你能不能吧你的切图发过来看看??
要不,你描述清楚一点
tscrystal
2004-09-03
打赏
举报
回复
附ChartGIf.Asp源码:
<%@ Language=VBScript %>
<%
Option Explicit
'Response.Expires = -1
'Response.ContentType = "image/gif"
'页面级对象
Dim m_cn '链接对象
Dim m_rs '记录集对象
Dim m_cspace 'OWC.ChartSpace object
Dim m_fso '文件系统对象
Dim m_objBinaryFile '二进值文件流对象
Dim m_sYear '需要查询的年份
Dim sSQL '执行的SQL 语句
Dim c 'OWC 常量对象
Dim cht '图表临时参考变量
Dim ax '数轴的临时参考变量
Dim fnt 'OWCFont字体的临时参考变量
Dim sFullFileName '输出GIF文件的临时参考路径
'获得查询年份,缺省为2002
m_sYear = Request.QueryString("year")
if len(m_sYear) = 0 then m_sYear = "2002"
'创建一个ADO链接和记录集对象
set m_cn = Server.CreateObject("ADODB.Connection")
set m_rs = Server.CreateObject("ADODB.Recordset")
'链接到Access数据库,使用客户端的游标引擎打开记录集
m_cn.Open "provider=microsoft.jet.oledb.4.0;data source=" & Server.MapPath(".") & "\data.mdb"
sSQL = "SELECT Month([OrderDate]) AS [Month], Invoices.Salesperson, " & _
"Sum(Invoices.ExtendedPrice) AS Sales FROM Invoices " & _
"WHERE Invoices.OrderDate between #1/1/" & m_sYear & "# and #12/31/" & m_sYear & "# " & _
"GROUP BY Month([OrderDate]), Invoices.Salesperson"
m_rs.CursorLocation = 3 'adUseClient
m_rs.Open sSQL, m_cn, 3 'adOpenStatic
'增加一个带有图例的簇列图表
set m_cspace = server.CreateObject("OWC.Chart")
set cht = m_cspace.Charts.Add()
set c = m_cspace.Constants
cht.Type = c.chChartTypeColumnClustered
cht.HasLegend = True
'设置图表的数据源,把销售人添加到序列名称,销售月份添加到分类组,销售金额作为图表中各项取值
set m_cspace.DataSource = m_rs
cht.SetData c.chDimSeriesNames, 0, "Salesperson"
cht.SetData c.chDimCategories, 0, "Month"
cht.SetData c.chDimValues, 0, "Sales"
'增加一个图表标题,并格式化标题
cht.HasTitle = True
cht.Title.Caption = m_sYear & "的销售金额 "
set fnt = cht.Title.Font
fnt.Name = "宋体"
fnt.Size = 10
fnt.Bold = True
'对分类轴添加标题,并格式化标题
set ax = cht.Axes(c.chAxisPositionBottom)
ax.HasTitle = True
ax.Title.Caption = "月份"
set fnt = ax.Title.Font
fnt.Name = "宋体"
fnt.Size = 8
fnt.Bold = True
'对数值轴添加标题,并格式化标题
set ax = cht.Axes(c.chAxisPositionLeft)
ax.NumberFormat = "Currency"
ax.HasTitle = True
ax.Title.Caption = "元"
set fnt = ax.Title.Font
fnt.Name = "宋体"
fnt.Size = 8
fnt.Bold = True
'用一个临时变量名保存当前文件,这个文件名是唯一的
set m_fso = CreateObject("Scripting.FileSystemObject")
sFullFileName = Server.MapPath(".") & "\" & m_fso.GetTempName()
m_cspace.ExportPicture sFullFileName, "GIF", 800, 400
'使用 On Error Resume Next语句是为了确保我们删除了临时文件,即使一些函数调用失败
on error resume next
'GIF文件已经输出,我们可以通过COM组件把它的内容发送到客户端
set m_objBinaryFile = server.CreateObject("BinFileWrite.GetFileStream")
'Response.BinaryWrite m_objBinaryFile.GetFileBytes(CStr(sFullFileName))
m_objBinaryFile.SendBinFile CStr(sFullFileName),"image/GIF",TRUE,FALSE,TRUE,TRUE,TRUE
'GIF文件已经不需要了可以删除了
'm_objBinaryFile.DeleteFile CStr(sFullFileName)
%>
下面是COM组件SendBinFile方法的实现源码:
int BufferSize = 0;
UCHAR *BufferAddress;
VARIANT ImgInMemory;
STDMETHODIMP CGetFileStream::SendBinFile(BSTR FileName, BSTR ContentType, BOOL bDelete, BOOL bExpires, BOOL bClear, BOOL bBuffer, BOOL bEnd)
{
USES_CONVERSION;
HANDLE hFile=CreateFile(OLE2T(FileName),GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if(hFile==INVALID_HANDLE_VALUE){return S_FALSE;}
DWORD dwFileSizeHigh;
DWORD dwFileSizeLow=GetFileSize(hFile,&dwFileSizeHigh);
HANDLE hFileMapping = CreateFileMapping(hFile,
NULL,
PAGE_READONLY,
0,0,NULL);
if (hFileMapping == 0){
CloseHandle(hFile);
return S_OK;
}
LPBYTE pFileData = (LPBYTE)MapViewOfFile(hFileMapping,
FILE_MAP_READ,
0,0,0);
if (pFileData == 0){
CloseHandle(hFile);
CloseHandle(hFileMapping );
return S_OK;
}
SAFEARRAYBOUND rgsabound[1];
BufferSize=dwFileSizeLow;
VariantInit(&ImgInMemory);
ImgInMemory.vt = VT_ARRAY | VT_UI1;
rgsabound[0].cElements = dwFileSizeLow;
rgsabound[0].lLbound = 0;
ImgInMemory.parray = SafeArrayCreate(VT_UI1,1,rgsabound);
if(ImgInMemory.parray != NULL) {
void * pArrayData = NULL;
//Get a pointer to beginning of data area in ImgInMemory
SafeArrayAccessData(ImgInMemory.parray,&pArrayData);
memcpy(pArrayData,pFileData,dwFileSizeLow);
SafeArrayUnaccessData(ImgInMemory.parray);
UnmapViewOfFile(pFileData );
CloseHandle(hFile);
CloseHandle(hFileMapping );
if(bClear)m_piResponse->Clear();
m_piResponse->put_ContentType(ContentType);
if(bExpires)m_piResponse->put_Expires(0);
if(bDelete)DeleteFile(FileName);
if(bBuffer)m_piResponse->put_Buffer(TRUE);
m_piResponse->BinaryWrite(ImgInMemory);
if(bEnd)m_piResponse->End();
else{
m_piResponse->Flush();
}
if(BufferSize>0){ VariantClear(&ImgInMemory);
}
return S_OK;
}
UnmapViewOfFile(pFileData );
CloseHandle(hFile);
CloseHandle(hFileMapping );
if(BufferSize>0){ VariantClear(&ImgInMemory);
}
return S_FALSE;
}
Code Project
Code Project
Python 树莓派编程学习指南(二)
在这一章
中
,你通过编写一个网络机器人(或蜘蛛)很好地了解了 Python,它可以为你遍历互联网并下载你感兴趣的文件,甚至可能在你睡觉的时候。您使用了一两个函数,构造并添加了一个列表对象,甚至做了一些简单的字符串操作。在下一章,我们将离开数字世界,与一种非常物理的现象——天气——互动。在本章
中
,您从头开始建立了一个气象站,并安装了必要的传感器来跟踪天气情况,包括气压、温度、湿度、风速,甚至风向。
Code Project精彩系列(转)
Applications Crafting a C# forms Editor From scratch http://www.codeproject.com/csharp/SharpFormEditorDemo.asp 建立一个类似C#的环境, 实现控件拖拉,属性 Packet Capture and Analayzer 网络封包截获 http://www.codeproj...
CISCO技术(1.7万)
0 base|以零为基底\r\n 0 disturbed zero output signal|干扰0输出信号\r\n 0parallel communication cable|平行通讯传输缆线\r\n 1 binary operation|二进制运算\r\n 1 di
codeproject资源集合贴
Applications Crafting a C# forms Editor From scratch http://www.codeproject.com/csharp/SharpFormEditorDemo.asp 建立一个类似C#的环境, 实现控件拖拉,属性 Packet Capture and Analayzer 网络封包截获 http://www.codep
C#
111,112
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章