热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

编程语言画图时坐标轴的刻度,最大值最小值需要标准化处理

我们在用编程语言画图时坐标轴的刻度,最大值最小值需要标准化处理,一般刻度都是用[0.1,0.2,0.25,0.5,1]或者这几个值的缩放值(乘以或者除以10的倍数)。一般我们图形的

我们在用编程语言画图时坐标轴的刻度,最大值最小值需要标准化处理,一般刻度都是用 [0.1, 0.2, 0.25, 0.5, 1] 或者这几个值的缩放值(乘以或者除以10的倍数)。一般我们图形的数据是随机的,所以需要一个函数来做这个标准化处理。

之前阅读了以为大神的文章,然后把具体的方法稍微修改了一下,并展示如下,希望可以对有需要的朋友提供一些思路。

原文章链接:https://bbs.csdn.net/topics/360196411

《编程语言画图时坐标轴的刻度,最大值最小值需要标准化处理》

​这里我用C#写好了函数,需要的朋友直接拿去用啦。

public double[] RegularAxisRuler(double min, double max, int numSteps)
{
double[] Ruler = new double[3];//Max, Min, Step
double OrigStep = (max - min) / numSteps;
double ScaleRate = Math.Pow(10, Math.Ceiling(Math.Log10(OrigStep)));
double NOnStandardStep= OrigStep / ScaleRate;
double StandardStep = NonStandardStep;
//Get Standard Scale Rate
if (StandardStep <0.1)
StandardStep = 0.1;
else if (StandardStep <0.2)
StandardStep = 0.2;
else if (StandardStep <0.25)
StandardStep = 0.25;
else if (StandardStep <0.5)
StandardStep = 0.5;
else
StandardStep = 1;
//FinalStep calculated
double FinalStep = StandardStep * ScaleRate;
double FinalMax = Math.Ceiling(max / FinalStep) * FinalStep;
double FinalMin = Math.Floor(min / FinalStep) * FinalStep;
Ruler[0] = FinalMax; Ruler[1] = FinalMin; Ruler[2] = FinalStep;
return Ruler;
}

 


推荐阅读
  • JavaScript 基础语法指南
    本文详细介绍了 JavaScript 的基础语法,包括变量、数据类型、运算符、语句和函数等内容,旨在为初学者提供全面的入门指导。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 丽江客栈选择问题
    本文介绍了一道经典的算法题,题目涉及在丽江河边的n家特色客栈中选择住宿方案。两位游客希望住在色调相同的两家客栈,并在晚上选择一家最低消费不超过p元的咖啡店小聚。我们将详细探讨如何计算满足条件的住宿方案总数。 ... [详细]
  • 本教程详细介绍了如何使用 TensorFlow 2.0 构建和训练多层感知机(MLP)网络,涵盖回归和分类任务。通过具体示例和代码实现,帮助初学者快速掌握 TensorFlow 的核心概念和操作。 ... [详细]
  • 本题探讨了在大数据结构背景下,如何通过整体二分和CDQ分治等高级算法优化处理复杂的时间序列问题。题目设定包括节点数量、查询次数和权重限制,并详细分析了解决方案中的关键步骤。 ... [详细]
  • Java 实现二维极点算法
    本文介绍了一种使用 Java 编程语言实现的二维极点算法。该算法用于从一组二维坐标中筛选出极点,适用于需要处理几何图形和空间数据的应用场景。文章不仅详细解释了算法的工作原理,还提供了完整的代码示例。 ... [详细]
  • 在现代Web应用中,当用户滚动到页面底部时,自动加载更多内容的功能变得越来越普遍。这种无刷新加载技术不仅提升了用户体验,还优化了页面性能。本文将探讨如何实现这一功能,并介绍一些实际应用案例。 ... [详细]
  • 本文探讨了在使用Selenium进行自动化测试时,由于webdriver对象实例化位置不同而导致浏览器闪退的问题,并提供了详细的代码示例和解决方案。 ... [详细]
  • 给定行数 numRows,生成帕斯卡三角形的前 numRows 行。例如,当 numRows 为 5 时,返回的结果应为:[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]。 ... [详细]
  • 利用决策树预测NBA比赛胜负的Python数据挖掘实践
    本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ... [详细]
  • 采用IKE方式建立IPsec安全隧道
    一、【组网和实验环境】按如上的接口ip先作配置,再作ipsec的相关配置,配置文本见文章最后本文实验采用的交换机是H3C模拟器,下载地址如 ... [详细]
  • 编写了几个500行左右代码的程序,但基本上解决问题还是面向过程的思维,如何从问题中抽象出类,形成类的划分和设计,从而用面向对象的思维解决问题?有这方面的入门好书吗?最好是结合几个具体的案例分析的 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • 本文介绍如何利用栈数据结构在C++中判断字符串中的括号是否匹配。通过顺序栈和链栈两种方式实现,并详细解释了算法的核心思想和具体实现步骤。 ... [详细]
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
author-avatar
梦鸢蝶
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有